Drupal 7 开发内部培训资料, 分头诗人

让NetBeans支持Drupal命令。

在我用的编辑器中感觉netbeans还是比较不错的,免费、简单、功能易用、扩展性高。

默认情况下,NetBeans 是支持Symfony的命令。而Drupal 是不支持的。

我们可以通过下面设置,让NetBeans支持Drupal自动完成函数。

一、下载最新版的NetBeans,选择PHP版本就可以,当然,如果你需要支持其他的话,也可以选择ALL。

二、在Tools > PluginsInstalled tab里面,确保PHP是打开的

三、设置drupal的代码规范。

Preferences (or Tools > Options) > Editor > Formatting,选择PHP。然后选择Tabs And Indents。别勾选"Use All Language Settings"。其他设置如下:

通过Pathauto 模块的API为自定义模块创建alias(别名)。

Pathauto 模块是一个非常了得的模块,它能够基于规则自动为节点创建路径别名,而不需要手动为每一篇文件设置路径别名。而它的API也非常易于使用。这里以一个简单例子为教程:

1,首先安装Pathauto模块,这是必须的。

2,通过hook_menu 建立地址。

<?php
/**
 * Implements hook_menu().
 */
function  group_article_menu() {
  $items['node/%node/article'] = array(
    'title' => '群组文章',
    'page callback' => 'group_article_page',
	'page arguments' => array(1),
    'access arguments' => TRUE,
    'type' => MENU_LOCAL_TASK,
    'weight' => 10,
  );  
  return $items;
}

 

3,建立menu回调函数

<?php
function group_article_page($node) {
  return $node->title;
}

 

假使node/1/article为例,可以得到下面页面

 

watchdog() 函数, 为 Drupal 提供了一个日志机制

watchdog() 函数是Drupal的核心函数,它为 Drupal 提供了一个日志机制,收集所有必要的日志信息或事件。
在admin/reports/dblog中,就是Recent log messages 中,可以查看这个日志。

函数用法

watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL)

    $type,是日志分类。一般,使用模块名作为日志分类,便于查找某个模块的错误信息。
    $message, 将储存信息在日志中。如果是变量应该用占位符来添加。
    $variables,是与$message的关联数组。
    $severity ,常量,表明消息的优先级,就是消息的重要性。
    $link,可选的第五个参数,允许你传入一个相关的URL。日志后端可能使用它生成嵌入日志消息的链接。

$severity中有8个不同的常量可以传入这个函数:

  • WATCHDOG_EMERGENCY: Emergency, system is unusable.
  • WATCHDOG_ALERT: Alert, action must be taken immediately.
  • WATCHDOG_CRITICAL: Critical conditions.
  • WATCHDOG_ERROR: Error conditions.
  • WATCHDOG_WARNING: Warning conditions.
  • WATCHDOG_NOTICE: (default) Normal but significant conditions.
  • WATCHDOG_INFO: Informational messages.
  • WATCHDOG_DEBUG: Debug-level messages.

例如:smtp模块中的两处watchdog语句,分别用到了前三个和前四个参数:

watchdog('smtp', 'Sending mail to: @to', array('@to' => $to));

drupal 在 nginx 下配置https firefox https sec_error_unknown_issuer 错误

今天配置drupal站的  https    nginx 下的,  ie 和  chrome  都能正常的 访问。    但是 firefox 下就会  报https sec_error_unknown_issuer  的错误。

查了一下是  没有正确配置中间级证书的  问题。

下载你的  ssl  证书   一定要  for  nginx的    有一个gd_bundle    的  crt文件,

命令:cat drupalla.com.crt gd_bundle.crt > drupalla.com.pem

然后修改配置: ssl_certificate /tem/drupalla.com.pem

 

server {
server_name drupalla.com;
listen 443;
ssl on;
ssl_certificate /usr/local/nginx/conf/drupalla.com.pem;
ssl_certificate_key /usr/local/nginx/conf/drupalla.com.key;
}

 

最后当然  要重启一下 nginx 啦。。。。。。。。。。。。 啦啦啦啦啦  

 

Drupal 如何添加区域(add region)

1.打开theme.info 文件 找到下面 大代码 然后再上面加上你想 添加的 region 比如我想加的是 regions[featured] = Featured

regions[featured] = Featured
regions[content] = Content
regions[sidebar_first] = Sidebar first
regions[sidebar_second] = Sidebar second

 

2. 然后就在  page.tpl.php   打印出来。

<div class="section">//这里的 css id  根据自己的喜好来命名。
        <?php print render($page['featured']); ?>
      </div>

 

3.最后记得清理一下drupal的cache   在region  示范的 地方  就能看到你新加的 region

 

 

使用Views Excel Export模块,输出views列表为excel格式

使用Views Excel Export模块来输出views列表为excel格式

1. 下载Views Excel Export模块并激活

2. 在views列表内,编辑想要输出的views项目。先创建一个page页面,样式选择为table。

3. 添加一个“Feed”,选择类型为“XLS Feed”,用这个feed来输出page页面。

4. 修改“feed name”以便于识别

5. 输入“feed path”

6. 在“attach to” 内勾选上类型

7. 在保存Views后,在文章列表就有了输出图标了。

通过Cygwin 为drupal 打补丁。

1,打开 http://cygwin.com 安装 cygwin
2,按照安装提示“下一步”
3,选择从“互联网”安装:

4,选择安装的路径,一般是C:\Cygwin,选择本地临时目录,用于存放下载的软件;选择您连接互联网的方式,一般选“直接连接”就可以了。
5,选择下载源:(请选择163镜像)http://mirrors.163.com/cygwin/

6,根据安装提示,选择需要安装的软件包,完成安装。

7,搜索patch,把patch相关的增加上去

8,假使

  • * cygwin 安装在 c:\cygwin
  • * patch文件在 c:\mypatch.patch
  • * drupal 安装在 c:\drupal
  • 开始,运行windows cmd
  • cd c:\drupal
  • c:\cygwin\bin\patch.exe -p0 < c:\mypatch.patch

 

drupal 函数 comment_form_submit 解析

最近在  读 comment  模块的 代码, 把一些基本的函数  mark 一下。

 

2012年11月3日Drupal在线交流会

活动时间: 11/03/2012 - 20:00 to 22:00

活动地点: 在线

  本次交流会邀请了国内流行的Drupal技术分享社区“猪跑啦”站长——分头诗人

  诗人将与我们就Drupal的话题进行探讨,向我们介绍“猪跑啦”的由来、网站结构、亮点和现状。除此之类,大家还将有机会了解默默支持“猪跑啦”的各位幕后成员。

参与方式:YY 语音 (请没有安装此软件的同学可先行下载安装及注册)

YY语音频道:34328491

主办单位:Drupal社区团队

活动安排:

开场介绍
猪跑啦——关于Drupal技术分享的社区
介绍一个汇总 Drupal 学习资源的小站点
问答与交流


文档下载:

学习交流与猪跑啦——分头诗人
Drupal传送门——袁(Lugir)

 

关于此次交流会的详细内容和其它相关信息将通过以下微博进行通知:

腾讯微博 新浪微博

活动注册地址:

Taxonomy Menu + Views 实现 父栏目显示子栏目的资料。

Taxonomy Menu 一直让人很头疼,就是点击父菜单,无法显示子菜单的内容。如下面菜单:

Database(1)
---mysql(5)
---mssql(1)

正常来说,点击Database会显示mysql跟mssql的文章,但无论怎么调,也无法实现。Database 菜单就只显示1篇文章。经过猪跑啦热心群友的教育。。。终于解决了。顺便分享出方法:

一般情况下,一个分类下面有子分类,
当点分类时,并不会显示子分类,这时要在view模块里设置下。
先要安装views模块

操作:
Administ ration » Structure » Views
在Taxonomy term里点edit
在右边的Advance下里
CONTEXTUAL FILTERS
点击
Content: Has taxonomy term ID (with depth)
修改Depth的值即可。

在这里有个Depth选项,控制着分类内容的调用层次。默认是0,我们可以把它改成1,这样就能调用分类1的子分类的内容了。如果子分类下面还有子分类,这个值就要相应的调整,每多一层加1。


最后要记得点下保存。
All changes are stored temporarily. Click Save to make your changes permanent. Click Cancel to discard your changes.

页面

订阅 RSS - 博客