Link auf nächsten Node innerhalb eines Vokabulars in node-xxxxx.tpl.php selbst bauen
am 19.11.2010 - 11:28 Uhr in
Hallo,
ich benötige in einer node-xxxxx.tpl.php einen Link, welcher auf den nächsten Node innerhalb des Vokabulars zeigt.
Für die Nodes gibt es ein Vokabular. Geordnet sind sie über ein CCK-Feld "sortierung". "Nächster Node" sollte "nächster in der Reihenfolge" bedeuten.
Kann mir hier jemand weiterhelfen?
Vielen Dank schon mal fürs Lesen.
- Anmelden oder Registrieren um Kommentare zu schreiben

Zitat: Geordnet sind sie über
am 20.11.2010 - 00:17 Uhr
Geordnet sind sie über ein CCK-Feld "sortierung". "Nächster Node" sollte "nächster in der Reihenfolge" bedeuten.
Ist das wirklich in einer node-xxxxx.tpl.php oder innerhalb einer View? Sortierung gibt es normalerweise dort.
Ansonsten müsste man die Logik der Sortierung kennen damit man die Nodes mit gleichen Terms darauf überprüfen kann...
Vielen Dank, Luca. Ja, es
am 20.11.2010 - 12:54 Uhr
Vielen Dank, Luca.
Ja, es handelt sich um eine node-xxxxx.tpl.php. Ich baue in den Inhalt des Nodes eigenen Code ein, der sich leider mit dem Views-Pager ins Gehege kommt. Deshalb muss ich mir den Node themen und dort die Navigation selbst bauen.
Der logische Aufbau ist mir klar. Er sollte so aussehen:
<div id="prev_node_dieses_vokabulars"><a href="<?php feld[sortierung][innerhalb dieses vokabulars]->wert-1 ?>>vorhergehender node</a>
</div>
<div id="next_node_dieses_vokabulars">
<a href="<?php feld[sortierung][innerhalb dieses vokabulars]->wert+1?>>nächster node</a>
</div>
Das soll meinen Gedankengang anschaulich machen, entspricht aber in keiner Weise einem Lösungsansatz ;-)
Das Feld "Sortierung" wird manuell bestückt, um die Reihenfolge der Nodes selbst festlegen zu können (leider habe ich da keine andere Möglichkeit der manuellen Sortierung gefunden). Es wird auch keine Lücken geben, weshalb man mit exakt -1 und +1 rechnen kann.
Leider entzieht es sich meiner Kenntnis, wie man mit PHP das betreffende Feld anspricht und dann - oder +1 rechnet.
Ich denke mal, dass diese Lösung auch sehr interessant für einige andere wäre, die sich damit beschäftigen, in eine node.tpl.php einen pager einzubauen.
Vielen Dank schon mal wieder fürs Lesen.
Ich würde versuchen die
am 20.11.2010 - 13:43 Uhr
Ich würde versuchen die Sortierung schon im SQL-Statement unterzubringen, so wie Views es auch macht.
Du kannst dir eine View bauen und das SQL-Statement für deine eigene Abfrage verwenden.
Falls du das Statement nicht siehst, hier aktivieren: admin/build/views/tools
Zur Ausgabe pager_query() benutzen.
Es sei noch erwähnt, dass jegliche Logik nicht innerhalb einer node-xxxxx.tpl.php stattfinden sollte sondern innerhalb eines eigenen Moduls oder
auf Theme-Ebene innerhalb der template.php unter Verwendung von preprocess functions
Spätestens an dieser Stelle scheut man den nicht absehbaren Aufwand der Operation und fragt sich:
Habe eigentlich nur ich dieses Problem? Oder gibt es vielleicht hoffentlich schon ein Modul für den Kram...
Insbesondere die ersten beiden könnten doch was für dich sein, oder?
Deine technischen Argumente
am 22.11.2010 - 09:36 Uhr
Deine technischen Argumente überzeugen mich. Allerdings sind mir Dinge wie SQL-Statement und pager_query() (noch) zu hoch platziert. Dieses Niveau habe ich in meiner Lernkurve noch nicht erreicht.
Ich lasse die Links "vor" und "zurück" vorerst manuell einbauen und kümmere mich dann später noch um eine "automatisierte" Lösung. Leider habe ich nach 1 Woche Suche kein auf diese Anforderung passendes Modul gefunden.
Vielen Dank für Deine Ausführung dazu, Luca.