【发布时间】:2011-08-07 21:23:55
【问题描述】:
谁能告诉我如何以编程方式更新 cck 字段?
我正在尝试以下代码:
$node->location[field_location][0][city] = 'tracker city';
$node->location[field_location][0][latitude] = 8.888888;
$node->location[field_location][0][longitude] = 9.999999;
没有任何成功。 我知道我可以直接与数据库交互,但我正在寻找不同的解决方案。
谁能帮忙?
【问题讨论】:
-
你把代码放在哪里了?这将更新节点对象中字段的值,但您仍需要在更改后保存节点。
-
代码在 hook_nodeapi 的自定义模块中。我正在检查 presave 然后执行代码。我也尝试在我的代码之后调用 node_save ,但这只是破坏了网站并导致出现白屏,并显示消息“连接意外终止”
-
您的模块在“系统”表中的权重可能小于“位置”模块的权重。这将导致您的模块的“presave”被位置模块覆盖。我猜你的模块和“位置”模块的权重在“系统”表中都设置为 0。尝试将模块的权重更改为 1。