【发布时间】:2010-08-25 19:26:48
【问题描述】:
您好,我正在使用 drupal 7 并尝试通过使用 php 解析从 xml 导入数据,然后使用 node_save($node) 创建节点。
到目前为止,我已经成功地从没有任何图像的 xml 创建节点。我想在导入时将图像附加到节点。
我知道 drupal 7 仍处于 alpha 6 但它很好。 node_save($node) 功能与 drupal 6 中的几乎相同,但略有不同。
好的,我的代码图像文件路径存储在一个变量中...任何帮助都会很棒..提前谢谢
function main($head, $txt) {
$nodes = array();
$nodes[0]['title'] = $head; // node name
$nodes[0]['body'] = $txt; // body text for the node
$nodes[0]['teaser'] = '<p>A node</p>';
$nodes[0]['timestamp'] = 1281765101;
$nodes[0]['format'] = 2;
make_nodes($nodes);
}
function make_nodes($nodes) {
$new_node = $nodes[0];
$node = new stdClass();
$node->type = 'article';
$node->status = 1;
$node->uid = 1;
$node->title = $new_node['title'];
$node->promote = 1;
$node->created = $new_node['timestamp'];
$node->timestamp = $new_node['timestamp'];
$node->changed= $new_node['timestamp'];
$node->sticky = 0;
$node->language = 'en';
$node->body['und'][0]['format'] = 3;
$node->body['und'][0]['summary'] = $new_node['teaser'];
$node->body['und'][0]['value'] = $new_node['body'];
$node->revision = 0;
node_submit($node);
node_save($node);
}
【问题讨论】:
-
当您以编程方式创建节点时,请务必填写 $node->name,因为对于所有有权管理节点的用户,
node_submit()会将您的$node->uid更改为 0(匿名) ,包括您的管理员用户。 -
感谢您的提示...但是我如何将带有此节点的图片附加为图像
-
在drupal 7中,这不像你不必填充$node->name。
标签: php drupal drupal-6 drupal-7