[gelöst] Lightbox2 in mein Modul
am 24.09.2009 - 14:42 Uhr in
Hallo,
ich will ein eigenes Content-Type schreiben, welches Bilder im Inhalt erhält. Mich interessiert, wie die Bilder mit Lightbox2 ausgegeben werden. Ich will die Felder nicht verwenden, sondern irgendwie direkt in Quellcode schreiben.
Z.B: <img src="…" rel="lightbox">
Beim Node-Load habe ich folgendes angehängt:
$node->image = array("title" => "test", "img" => "test.jpg", "copyright" => "test copyright");
Beim View verwende ich einfach HTML-Code:
<a href="…" rel="lightbox"><img src="…" rel="lightbox"></a>
Es funktioniert mit Lightbox Lite aber nicht mit Lightbox2. Für mich ist wichtig, auf dem Lightbox außer Bild noch Titel und Quelle des Bildes anzuzeigen.
Ehrlich gesagt weiß ich noch nicht wie man mit Node-Content arbeiten. Gibt es so was wie beim $form, z.B. $form["img"]= array("#type" => ...). D.h. man muss nur Type, Attributes uws. definieren, statt HTML-Code zuverwenden?
Ich werde mich sehr freuen und bedanke für eure Hilfe.
Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, auch wenn der Thread
am 25.09.2009 - 11:13 Uhr
Hallo,
auch wenn der Thread auf gelöst gestellt ist versuche ich mal zu Antworten. Prinzipiell könntest du zwei Wege benutzen um Content an eine Node anzuheften.
Weg1 eine eigene Node Variable:
<?php
$node->meinImage = theme('image', $path, $alt = '', $title = '', $attributes = NULL, $getsize = TRUE);
?>
Weg2 den Node Content ergänzen:
<?php
$node->content[ 'meinImage' ] = array(
'#type'=>'markup',
'#value'=>theme('image', $path, $alt = '', $title = '', $attributes = NULL, $getsize = TRUE),
)),
);
?>
Ich würde Weg2 auf jedenfall bevorzugen, denn hier hast Du das Bild einmal direkt in $content (im Node Template) und Du kannst es auch direkt abfragen mit $node->content['meinImage']['#value']; Bei der Lightbox2 würde ich vorher auf jedenfall auch nochmal prüfen ob es nicht sogar eine Theme Funktion gibt um das Bild auszugeben, dann ersparst Du dir das anhängen der class.
Beide Wege beschreiben das anhängen eigener Variablen im hook_nodeapi(), der Weg über einen Template preprocess ist ähnlich.
Gruß Dennis