gpt4 book ai didi

php - 如何从 drupal 中的 cron 作业创建节点?

转载 作者:可可西里 更新时间:2023-11-01 12:41:49 24 4
gpt4 key购买 nike

在 drupal 4.7 的自定义模块中,我拼凑了一个节点对象并将其传递给 node_save($node) 以创建节点。这个 hack 似乎不再适用于 drupal 6。虽然我确信这个 hack 可以修复,但我很好奇是否有一个标准的解决方案来创建没有表单的节点。在这种情况下,数据是从另一个网站的自定义提要中提取的。

最佳答案

实现这一目标的最佳实践方法是利用 drupal_execute。 drupal_execute 将运行标准验证和基本节点操作,以便事情按照系统预期的方式运行。 drupal_execute 有它的怪癖,并且比简单的 node_save 稍微不那么直观,但是,在 Drupal 6 中,您可以按以下方式使用 drupal_execute。


$form_id = 'xxxx_node_form'; // where xxxx is the node type
$form_state = array();
$form_state['values']['type'] = 'xxxx'; // same as above
$form_state['values']['title'] = 'My Node Title';
// ... repeat for all fields that you need to save
// this is required to get node form submits to work correctly
$form_state['submit_handlers'] = array('node_form_submit');

$node = new stdClass();
// I don't believe anything is required here, though
// fields did seem to be required in D5

drupal_execute($form_id, $form_state, $node);

关于php - 如何从 drupal 中的 cron 作业创建节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/88566/

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