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

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.

Drupal 7 通过代码创建用户?

Drupal 6请移步到 Drupal 6  通过代码创建用户?

很多情况下,我们需要在对某一动作操作时候,需要自动的创建用户,如ubercart中购买产品时候,如没登陆,自动创建用户。这个是如何实现的呢?Drupal 6中的做法,在Drupal 7中会有所改变,看看下面代码。

//This will generate a random password, you could set your own here
  $password = user_password(8);
 
  //set up the user fields
  $fields = array(
    'name' => 'user_name',
    'mail' => 'user_name@example.com',
    'pass' => $password,
    'status' => 1,
    'init' => 'email address',
    'roles' => array(
      DRUPAL_AUTHENTICATED_RID => 'authenticated user',
    ),
  );
 
  //the first parameter is left blank so a new user is created
  $account = user_save('', $fields);
 
  // If you want to send the welcome email, use the following code
 
  // Manually set the password so it appears in the e-mail.
  $account->password = $fields['pass'];
 
  // Send the e-mail through the user module.
  drupal_mail('user', 'register_no_approval_required', $email, NULL, array('account' => $account), variable_get('site_mail', 'noreply@example..com'));

注:你可以附加角色进去,通过role id

Drupal 6 通过代码创建用户?

Drupal 7请移步到 Drupal 7  通过代码创建用户?

很多情况下,我们需要在对某一动作操作时候,需要自动的创建用户,如ubercart中购买产品时候,如没登陆,自动创建用户。这个是如何实现的呢?看看下面代码。

//the user name of the new user
  $user_name = "example";
 
  //the users email address
  $email = "example@example.com";
 
  //set up the user fields using a random 8 character password
  $fields = array(
    'name' => $user_name,
    'mail' => $email,
    'pass' => user_password(8),
    'status' => 1,
  );
 
  //you can give a user roles if necessary based on the role name
  $fields['roles'] = array('test_role');
 
  //the first parameter is left blank so a new user is created
  $account = user_save('', $fields);
 
  // Manually set the password so it appears in the e-mail.
  $account->password = $fields['pass'];
 
  // Send the e-mail through the user module.
  drupal_mail('user', 'register_admin_created', $email, NULL, array('account' => $account), variable_get('site_mail', 'noreply@example..com'));

 

上面代码基本实现了如何在Drupal 6中通过代码创建用户,但很多时候,用户是有用到 user profile的,就是说有一些附加的字段,那该如何做?看看下面代码:

 

页面

订阅 RSS - 博客