在drupal6中将字段保存为大写


saving a field to upper case in drupal 6?

在drupal事件创建中,我有一个名为person的cck文本字段。

如何强制person字段保存(在db中)仅大写?

查看hook_nodeapi (http://api.drupal.org/api/drupal/developer--hooks--core.php/function/hook_nodeapi/6)

您应该能够在模块中编写一个函数,看起来有点像这样:

function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if ($op == 'presave' && $node->type == 'event') {
    $person = strtoupper($node->field_person[0]['value']);
    $node->field_person[0]['value'] = $person;
  }
}

当它显示event时,只需替换为您的机器友好的内容类型名称,当它显示field_person时,将其替换为您的人员字段的机器名称(在您的情况下可能是field_person)。

如果你想看看它是否有效,那么把这个放在If语句结束前的代码中(应该是你的CCK字段,全大写,可能后面有一个1,但忽略它,它只是die():-))

die(print_r($person));

:

   function mymodule_node_presave($node) {
     if ($node->type == ('article') {       
       $node->title = ucfirst($node->title);
     }  
   }