Ich verwende Drupal 6.x und ich schreibe eine PHP-Klasse, die einen RSS-Feed greifen und als Knoten einfügen wird.Wie kann ich programmatisch Bilder zu einem Drupal-Knoten hinzufügen?
Das Problem, das ich habe, ist, dass der RSS-Feed mit Bildern kommt, und ich kann nicht herausfinden, wie man sie richtig einfügt.
This page hat einige Informationen, aber es funktioniert nicht.
Ich erstelle und speichere das Bild auf dem Server, und dann füge ich es dem Knotenobjekt hinzu, aber wenn das Knotenobjekt gespeichert wird, hat es kein Bildobjekt.
Dies erzeugt das Bildobjekt:
$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;
}
und dies fügt das Bild in den Knoten:
$node->field_images[] = $image;
ich spare den Knoten
module_load_include('inc', 'node', 'node.pages');
// Finally, save the node
node_save(&$node);
verwenden, aber wenn ich Dump die Knotenobjekt, es nicht mehr als das Bild. Ich habe die Datenbank überprüft und ein Bild erscheint in der Tabelle, aber es hat keine FID. Wie kann ich das machen?
Sie können file_directory_path() verwenden, um die ‚Dateien‘ Verzeichnis zu bekommen, ich glaube nicht, das ist, warum Ihr Code nicht funktioniert, aber wird es sauberer machen. –