[gelöst]Anzeigen des Node Bildes per php
Eingetragen von 1000 (764)
am 15.01.2012 - 16:55 Uhr in
am 15.01.2012 - 16:55 Uhr in
Hallo,
ich habe ein Blog mit einem individuell angepassten Template mit Drupal erstellt. Das klappt auch soweit wunderbar. Leider wird der content so ausgegeben, dass das Vote-Up/Down Symbol mitten im Content platziert wird. Per Devel Modul habe ich schon die Variablen ausgelesen und kann diese auch seperat per php ausgeben.
Anzeige des Symbols für Vote - Up/Down
<?php
print $node->content['vud_node_widget_display']['#value'];
?>
Anzeige des Node Textes:
<?php
print $node->content['body']['#value'];
?>
Leider kann ich das Node Bild nicht anzeigen, da es nach diesem Schema nicht funktioniert. Ich benutze Imagecache und Lightbox2, so dass die Ausgabe noch etwas erschwert wird.
- Anmelden oder Registrieren um Kommentare zu schreiben
hi 1000 wie und wo wird dein
am 15.01.2012 - 22:46 Uhr
hi 1000
wie und wo wird dein imgage denn in dem render array angezeigt?
gruss
stef
Ich versteh die Frage nicht
am 16.01.2012 - 19:59 Uhr
Ok, ich glaube das Thema ist ziemlich komplex. Habe hier einige Informationen über das Thema Render Array gefunden Das Problem ist: Ich weiss deshalb trotzdem nicht, wie ich auf den "Render Array" zugreifen kann bzw. diesen seperat ausgeben kann.
Es würde im Prinzip auch reichen, wenn ich das Voting Symbol aus dem $content nach der ersten Ausgabe löschen könnte. Dann würde es nur einmal angezeigt.
<?php
$var4 = $content;
$searchFor4 = $node->content['vud_node_widget_display']['#value'];
$replaceWith4 = array("function","");
$string4 = str_replace($searchFor4,$replaceWith4,$var4);
echo"$string4";
?>
Hat geklappt. Rein aus Interesse würde ich trotzdem gerne eine "saubere" Lösung vorziehen. Weiss jemand, wo der Render Array für das Node Bild ausgelesen werden kann?
Ein wenig rumexperiementieren
am 16.01.2012 - 22:29 Uhr
Ein wenig rumexperiementieren mit dem Modul content template hat folgendes hervorgebracht:
<?php
print $node->field_presse[0]['view']
?>
Damit lässt sich das Bild seperat ausgeben.