drupal规则在不替换现有数据的情况下向引用节点添加字段数据
我的问题是:“在不替换现有数据的情况下向引用节点添加字段数据” 例如,我有一个项目节点,其中团队成员引用该项目。每个团队成员在其节点上都有一个位置,即“英国”、“美国”、“澳大利亚” 在项目节点上,我有完全相同的字段。我需要创建一个规则,以便在创建“团队成员”节点时,在不替换现有内容的情况下将其位置添加到项目节点 例如,一个有来自英国的团队成员的项目节点的位置字段上也会有“United Kingdom”。当添加来自“美国”的团队成员时,项目的位置字段将有“英国”和“美国”。如果添加了同时位于加拿大和法国的团队成员,则项目的位置将变为英国、美国、加拿大和法国 谢谢 做一些类似于:drupal规则在不替换现有数据的情况下向引用节点添加字段数据,drupal,drupal-rules,Drupal,Drupal Rules,我的问题是:“在不替换现有数据的情况下向引用节点添加字段数据” 例如,我有一个项目节点,其中团队成员引用该项目。每个团队成员在其节点上都有一个位置,即“英国”、“美国”、“澳大利亚” 在项目节点上,我有完全相同的字段。我需要创建一个规则,以便在创建“团队成员”节点时,在不替换现有内容的情况下将其位置添加到项目节点 例如,一个有来自英国的团队成员的项目节点的位置字段上也会有“United Kingdom”。当添加来自“美国”的团队成员时,项目的位置字段将有“英国”和“美国”。如果添加了同时位于加拿
return array(
0 => array('value' => 'United Kingdom')
);
就是不行!它将替换现有的值。如何使其添加到现有值上。谢谢 您是否尝试过:
return array(
array('value' => 'United Kingdom'),
array('value' => 'United States'),
);
像这样的东西行吗?基本上,我们捕获当前节点cck位置字段(更改下面的字段名称以适应),加载引用节点,并将位置数据添加到其中,然后将其保存。我没有添加代码来检查位置是否已经存在,但这是另一天的事情。-希望能有帮助
#some debug data below
#krumo ($node);
#print "<pre>". print_r($node,true) . "</pre>";
#$node is our current data set
# save the current $node nid into a variable
$nid = $node->nid;
#get the reference nid
$refnid = $node->field_refnid[0][nid];
#get the location
$currentlocation = $node->field_team_location[0][value];
# nowload the reference node
$refnode = node_load ($refnid);
# some debug data below
#krumo ($refnode);
#print "<pre>". print_r($refnode,true) . "</pre>";
$newlocation = array ("value"=>$currentlocation);
$refnode->field_loacations[] = $newlocation;
#now save the reference node
node_save ($refnode);
#drupal_goto ("node/$nid");
#下面是一些调试数据
#krumo($节点);
#打印“”。打印($node,true)。"";
#$node是我们当前的数据集
#将当前$node nid保存到变量中
$nid=$node->nid;
#获取参考nid
$refnid=$node->field_refnid[0][nid];
#获取位置
$currentlocation=$node->field\u team\u location[0][value];
#现在加载引用节点
$refnode=节点加载($refnid);
#下面是一些调试数据
#克鲁莫($refnode);
#打印“”。打印($refnode,true)。"";
$newlocation=数组(“值”=>$currentlocation);
$refnode->field_locations[]=$newlocation;
#现在保存引用节点
节点\保存($refnode);
#drupal_goto(“node/$nid”);
在节点上实际拥有引用还是仅仅显示位置很重要
如果您只是担心显示位置,那么我认为您可以这样做
我相信有一个节点引用反向选项,但这只会显示团队成员,而不会显示位置
如果在项目节点中实际拥有位置信息很重要,那么您必须使用类似的代码。这将添加英国和美国,但将替换现有的加拿大和法国位置。Jourkey-我看到了勾号,这是您正在寻找的吗?