我正在使用Drupal 6.x,並且正在寫一個php類,它將獲取RSS提要並將其作爲節點插入。如何以編程方式將圖像添加到Drupal節點?
我遇到的問題是RSS提要帶有圖像,我無法弄清楚如何正確插入它們。
This page有一些信息,但它不起作用。
我創建並將圖像保存到服務器,然後將其添加到節點對象,但是當節點對象被保存時,它沒有圖像對象。
這將創建圖像對象:
$image = array();
if($first['image'] != '' || $first['image'] != null){
$imgName = urlencode('a' . crypt($first['image'])) . ".jpg";
$fullName = dirname(__FILE__) . '/../../sites/default/files/rssImg/a' . $imgName;
$uri = 'sites/default/files/rssImg/' . $imgName;
save_image($first['image'], $fullName);
$imageNode = array(
"fid" => 'upload',
"uid" => 1,
"filename" => $imgName,
"filepath" => $uri,
"filemime" => "image/jpeg",
"status" => 1,
'filesize' => filesize($fullName),
'timestamp' => time(),
'view' => '<img class="imagefield imagefield-field_images" alt="' . $first['title'] . '" src="/' . $uri . '" /> ',
);
$image = $imageNode;
}
,這增加了圖像的節點:
$node->field_images[] = $image;
我節省使用
module_load_include('inc', 'node', 'node.pages');
// Finally, save the node
node_save(&$node);
的節點,但是當我轉儲節點對象,它不再作爲圖像。我已經檢查過數據庫,並且表中顯示了一個圖像,但它沒有fid。我怎樣才能做到這一點?
您可以使用file_directory_path()來獲得「files」目錄下,我不認爲這就是爲什麼你的代碼不能正常工作,但將使它更清潔。 – 2009-08-17 14:33:43