Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改Drupal表单中字段的值_Drupal_Drupal 6_Cck - Fatal编程技术网

更改Drupal表单中字段的值

更改Drupal表单中字段的值,drupal,drupal-6,cck,Drupal,Drupal 6,Cck,我已经为我的Drupal节点编辑表单创建了一个钩子提交函数。我想在sumbit处理程序中更改该特定节点的CCK字段的值(不在表单中) 我曾尝试将字段设置为隐藏并对其应用值,但这不起作用 有人能提出一个方法吗 谢谢 乔纳森我想你可能把事情复杂化了。如果您只想更改节点保存上CCK字段的值(可能基于某些条件),那么最好使用规则模块()。互联网上有大量关于规则模块的视频和资源 此外,如果您想隐藏特定的CCK字段,可以使用与CCK模块捆绑在一起的内容权限模块。您可以拒绝用户对CCK字段的编辑访问,但授予查

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

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

有人能提出一个方法吗

谢谢


乔纳森

我想你可能把事情复杂化了。如果您只想更改节点保存上CCK字段的值(可能基于某些条件),那么最好使用
规则
模块()。互联网上有大量关于规则模块的视频和资源


此外,如果您想隐藏特定的CCK字段,可以使用与CCK模块捆绑在一起的
内容权限
模块。您可以拒绝用户对CCK字段的编辑访问,但授予查看访问权。

与其在编辑中添加提交功能,不如使用hook_nodeapi并在$op='presave'时执行逻辑?通过这种方式,您不需要像规则那样繁重的模块,但仍然可以更改节点提交时的值


编辑:查看使用
表单设置值()表单验证函数。

你是说表单中没有CCK字段吗?我对节点引用CCK字段做了类似的操作。我还使用内容权限来限制编辑访问(这会从表单中隐藏字段),然后在代码中设置字段值。在这个问题上可能有一些有用的信息。。。非常感谢这一点,如果满足某些条件,是否仍有方法在某个点取消节点保存?解决它。使用hook_nodeapi和op='presave'检查条件,然后使用form_set_error()取消表单处理。