php代码定义 cck 字段 default value 和 Allowed values

         drupal 的cck非常的强大,当我们创建cck字段时,可以通过php代码(php code)定义字段的默认值(default value)和允许值(Allowed values),首先要使用php代码(php code) 需要启用drupal核心模块 PHP filter.

 

        现在我们创建一个cck字段UserName,我们来定义这个cck字段的默认值(default value) . 你会看到 default value ,点击default value,你会看到PHP code ,在code文本框内输入如下代码 :

 

global $user;   return  array( 0 => array('value' =>$user->name)); 保存后,浏览你的节点,你会看到UserName 的文本框内的默认值就是你用php 代码定义的值. 如果你定义默认值时要注意,不要包含<?php ?>限定符.

 

如下是定义默认值的格式:

 

return array(

 

  0 => array('value' => value for value),

 

  // You'll usually want to stop here. Provide more values

 

  // if you want your 'default value' to be multi-valued:

 

  1 => array('value' => value for value),

 

  2 => ...

 

);

 

         利用 cck 定义一个 select 列表, 你会看到你一允许值(Allowed values),点击后你会看到PHP code ,在code中定义的php 代码返回允许值为一个key(键) - value(值) 数组,会覆盖Allowed values list中的值 .注意不要带<?php  ?>限定符.

 

实例代码:

 

$rows=array();

 

$sql = "SELECT n.nid,n.title FROM {node} n WHERE n.status=1 AND n.type = 'abstractsubmission' ";

 

$result = db_query($sql);

 

while($row = db_fetch_object($result)){

 

          $rows[$row->nid]=$row->title;

 

}

 

return $rows;