Wie Views Block themen?
am 02.09.2009 - 10:16 Uhr in
Hallo zusammen,
ich definiere eine View, die
1: eine Page mit 5 Nodes ausgibt
2: einen Block mit einem Node ausgibt.
Das funktioniert prinzipiell. Ich muss aber den Block selbst themen und das gelingt mir nicht.
Ich kann im Block-Template zwar $node ausgeben, allerdings enthält diese Variable bereits den kompletten gerenderten Text.
Tatsächlich müsste ich aber getrennt auf $node->title und $node->body zugreifen können.
Grundsätzlich sehe ich zwei Möglichkeiten:
1: Ich finde eine Möglichkeit auf $node->title und $node->body getrennt im Block zuzugreifen.
2: Ich schreibe in der template.php eine eigene Funktion, die den einen Block Node zurückliefert. Aber dazu bräuchte ich den SQL String der View. Kann ich den denn irgendwo auslesen?
Vielen Dank für Eure Tipps?
Rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben
Views selbst bietet Dir die
am 02.09.2009 - 10:33 Uhr
Views selbst bietet Dir die Moeglichkeit, den Code fuer eine Views-Ansicht zu erstellen.
Dazu im View die Block-Ansicht auswaehlen und in den "Basiseinsteinstellungen" bei "Theme" auf Information klicken. Nun liegt es an Dir das richtige Template auszuwaehlen.
Dann erstellst Du die Template-Datei mit dem von Views genannten Namen und kopierst sie in den Ordner des aktuellen Themes. Danach den Theme-Cache leeren damit das Template verwendet wird.
Administration -> Leistung -> ganz unten der Button "Cache leeren".
Die Vorschau einer View-Ansicht zeigt auch Aenderungen durch Templates an. Also kannst Du Dein Views-Template auch in der View-Vorschau testen.
------------------------
Quiptime Group
ja schon,
am 02.09.2009 - 11:21 Uhr
dafür vielen Dank. Aber es löst leider das Problem nicht.
Ich kenne die Vorgehensweise, die Du beschrieben hast und bin auch so vorgegangen.
Aber mir steht in den Block Templates, die in der Theming information der View gelistet sind, als Variable entweder $block oder $node zur Verfügung, die beide schon gerendert sind und mir nicht die Möglichkeit geben, auf $node->title und $node->teaser getrennt zuzugreifen.
Zitat: Aber mir steht in
am 02.09.2009 - 11:39 Uhr
Aber mir steht in den Block Templates, die in der Theming information der View gelistet sind, als Variable entweder $block oder $node zur Verfügung, die beide schon gerendert sind und mir nicht die Möglichkeit geben, auf $node->title und $node->teaser getrennt zuzugreifen.
Wie ist das im Zusammenhang mit dem "Who's online" Block zu verstehen.
Edit
Es kommt darauf an wie die Views-Ansicht den Inhalt ausgibt. Man kann Nodetitle und Nodebody auch getrennt als Felder ausgeben. Das ist in etwa das Gleiche als wenn man keine Felder sondern die Nodeansicht ausgibt.
Wenn man die Node als einzelne Felder mit Title und Body ausgibt dann sollten Title und Body auch im Template der Views-Ansicht getrennt verfuegbar sein.
------------------------
Quiptime Group