Drupal 7, Struktur, Fields, Reihenfolge der Fields
am 17.01.2011 - 11:55 Uhr in
Hallo,
wie kann ich bei Artikeln die Felder (fields) derart ändern, das ein bestimmtes Feld (ZB das vorgegeben "field_image") über der Haupt-Überschrift ("Title") ausgegeben wird. Unter "manage display" kann ich bei allen Feldern die Reihenfolge bestimmen, ich komme nur nicht über die Haupt-Überschrift.
Oder anders gefragt: Die Hauptüberschrift wird zb auf page.tpl.php mit "print $title" ausgegeben. Der komplette Inhalt global mit "print render($page['content'])". Kann ich den Inhalt auch so aufsplitten, das dieser einzeln ausgegeben wird. Also etwas so:
"print MEIN-FELD-NUMMER-1"
"print MEIN-FELD-NUMMER-2"
"print title"
"print MEIN-FELD-NUMMER-3"
"print summary"
"print body"
Vielleicht hat jemand einen erhellenden Link ???
Gruß Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
Einzeln rendern
am 17.01.2011 - 16:17 Uhr
Im Bartik-Theme findet man bei der node.tpl.php diesen Hinweis:
* - $content: An array of node items. Use render($content) to print them all,
* or print a subset such as render($content['field_example']). Use
* hide($content['field_example']) to temporarily suppress the printing of a
* given element.
Du kannst also einzelne Felder rendern. Wenn du danach den Content ausgibst, ist das vorher gerenderte Feld nicht mehr Teil des Contents.
Aber: Als ich das in einer der RC-Versionen ausprobiert habe, hat es nicht geklappt (oder ich hab was falsch gemacht). In der aktuellen Version habe ich es noch nicht getestet.
Nicolai Schwarz schrieb ...
am 17.01.2011 - 17:29 Uhr
... Du kannst also einzelne Felder rendern. Wenn du danach den Content ausgibst, ist das vorher gerenderte Feld nicht mehr Teil des Contents. ...
Hallo Nicolai *.
OK. Vielen Dank. Einen Schritt weiter. Schreibe ich in die Datei "node.tpl.php" (Bartik-Theme):
print render($content['field_image']);
print $title;
print render($content['field_subtitle']);
print render($content['body']);
bekomme ich die richtige Reihenfolge auf der Ausgabeseite. Halt, nicht so ganz, nur auf der Startseite. Auf der Artikelseite selber habe ich - wie aus dem Nichts - noch eine zweite Überschrift (die selbe) die über allem steht.
Ich glaube, ich muss mir noch klar machen, welches Template (z.B. node) für welche Ausgabeseiten zuständig ist. Und wie eine Template im Theme Ordner das Original Template überschreibt oder auch nicht.
Ich bleibe dran.
Gruß Matthias
* = Du bist übrigens auch einer der Gründe, warum ich mich wieder an Drupal heranwage. Hörte Technikwürze und bekam wieder Lust auf Drupal 7. Dafür vielen Dank.