我有一个内容类型(A)引用不同内容类型的单个节点(B)。引用的节点(B)可以使用创建此新节点的用户的信息以编程方式确定(A)...每个用户只能创建引用内容类型(B)的单个节点,因此该单个节点将始终为从用户创建的内容类型B的节点引用。
因为引用的节点总是已知的,所以我不希望用户必须输入参考值,我想在幕后为它们设置它。我已经找到了一些关于这样做的线索,但似乎没有一个明确或实际上对我有用。
非常感谢任何帮助。
注意:Drupal 6
答案 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)
无需任何编程 - 使用“规则”模块,事件 - 节点更新,操作 - 将字段设置为某个值。