更改Drupal表单中字段的值

时间:2010-10-12 19:03:16

标签: drupal drupal-6 cck

我为Drupal节点编辑表单创建了一个钩子提交函数。我想在sumbit处理程序中更改该特定节点的CCK字段(不在表单中)的值。

我已尝试将字段设置为隐藏并为其应用值,但这不起作用。

有人可以建议一种方法吗?

谢谢,

乔纳森

3 个答案:

答案 0 :(得分:2)

我认为你可能过于复杂化了。如果您要做的只是更改节点保存上的CCK字段的值(可能基于某些条件),您可能最好使用Rules模块(http://drupal.org/project/rules)。 “规则”模块上有大量的互联网视频和资源。

此外,如果要隐藏特定的CCK字段,可以使用与CCK模块捆绑在一起的Content Permissions模块。您可以拒绝用户在CCK字段上编辑访问权限,但授予视图访问权限。

答案 1 :(得分:1)

为什么不在$ op ='presave'时使用hook_nodeapi并执行逻辑,而不是为编辑添加提交函数?这样您就不需要像规则那样繁重的模块,但仍然可以改变节点提交的值。

编辑:看看hook_nodeapi()

答案 2 :(得分:0)

在表单验证中使用form_set_value();函数。