我为Drupal节点编辑表单创建了一个钩子提交函数。我想在sumbit处理程序中更改该特定节点的CCK字段(不在表单中)的值。
我已尝试将字段设置为隐藏并为其应用值,但这不起作用。
有人可以建议一种方法吗?
谢谢,
乔纳森
答案 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();
函数。