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

时间:2010-09-21 20:21:59

标签: drupal drupal-6 cck nodeapi

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

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

非常感谢任何帮助。

注意:Drupal 6

2 个答案:

答案 0 :(得分: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;
   }
}

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

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

注意:您需要创建一个模块来促进这一点。您也可以尝试使用规则模块,但我不确定它会在没有自定义规则的情况下执行您的要求。但我知道上述方法可行。

答案 1 :(得分:2)

无需任何编程 - 使用“规则”模块,事件 - 节点更新,操作 - 将字段设置为某个值。

相关问题