如何在创建表单提交时自动设置CCK节点参考字段的值

Cha*_*lky 3 drupal cck drupal-6 nodeapi

我有一个内容类型(A)引用不同内容类型(B)的单个节点.引用的节点(B)可以使用创建此新节点的用户的信息以编程方式确定(A)...每个用户只能创建引用内容类型(B)的单个节点,因此该单个节点将始终为从用户创建的内容类型B的节点引用.

因为引用的节点总是已知的,所以我不希望用户必须输入参考值,我想在幕后为它们设置它.我已经找到了许多关于这样做的线索,但似乎没有一个明确或实际上对我有用.

任何帮助将不胜感激.

注意:Drupal 6

Kev*_*vin 6

你可以试试:

function mymodule_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
   switch ($op) {
      case 'insert':
         if ($node->type == 'type_a') {
            $node->field_of_reference[0]['nid'] = 'node reference value';
            node_save($node);
         } 
         break;
   }
}
Run Code Online (Sandbox Code Playgroud)

这应该将值添加到节点并在创建后保存它.

http://api.drupal.org/api/function/hook_nodeapi

注意:您需要创建一个模块来实现此目的.您也可以尝试使用规则模块,但我不确定它会在没有自定义规则的情况下执行您的要求.但我知道上面的方法会起作用.