- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 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/
我正在尝试使用 drupal_execute() 以编程方式存储 CCK 类型节点。创建空节点;没有保存 CCK 字段。显然 drupal_process_form() 中的第一行负责: $form_
我是一名优秀的程序员,十分优秀!