gpt4 book ai didi

drupal - 为什么 $form_state ['values' ] 在 drupal_process_form() 中消失了?

转载 作者:行者123 更新时间:2023-12-02 00:39:37 27 4
gpt4 key购买 nike

我正在尝试使用 drupal_execute() 以编程方式存储 CCK 类型节点。创建空节点;没有保存 CCK 字段。显然 drupal_process_form() 中的第一行负责:

$form_state['values'] = array();

所以我的问题是为什么“值”会被删除,更重要的是,我如何使用 drupal_execute() 保存 CCK 字段?

我也试过 save_node() ,效果很好;但是我更喜欢前者,因为它会调用验证。

最佳答案

values 数组在 drupal_process_form() 中被清除,因为它稍后将从 $_POST 全局填充。如果你看一下drupal_execute() ,您会看到它做相反的事情,即从传入的 $form_state['values'] 填充 $_POST 全局。

我认为这样做是为了允许表单处理以与“正常”表单提交相同的方式工作,因此 drupal_execute 主要设置阶段,以便一切看起来或多或少与稍后的“正常”提交相同。

这意味着您的方法基本上是正确的并且应该有效 - 如果不正确,则一定是其他地方出了问题。我猜不出这可能是什么,但你可以查看 this thread有关您的方法的一些讨论,特别是 CCK 领域主题(它是一个混合线程,也讨论了 node_save() 方法,但链接的部分可能适合您的特定情况)。

关于drupal - 为什么 $form_state ['values' ] 在 drupal_process_form() 中消失了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125378/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com