print $content in node.tpl.php
Eingetragen von Q-Base (339)
am 03.02.2009 - 02:28 Uhr in
am 03.02.2009 - 02:28 Uhr in
Hallo,
ich bin aktuell gerade dabei ein Theme für meine Webseite neu zu entwickeln. Dabei passe ich ein existierendes Theme an. Nun weiß ich genau, an welcher Stelle ich etwas anpassen möchte, aber in der node.tpl.php steht an der Stelle nur
<div class="content">
<?php print $content ?>
</div>
Ich habe aber nur page.tpl.php, node.tpl.php, block.tpl.php, comment.tpl.php und template.php. Und in keiner dieser Dateien sind die divs mit den CSS-Klassen definiert.
Was nun?
Ciao, Q
- Anmelden oder Registrieren um Kommentare zu schreiben
vermutlich sind das dann
am 03.02.2009 - 10:16 Uhr
vermutlich sind das dann DIVs, die von Templatedateien der Core- oder Zusatzmodulen stammen. Alle Core Template Dateien findest Du hier ... http://api.drupal.org/api/group/themeable/5
Drupal 7 Screencasts in deutsch!
Ansonsten versuche es mit
am 03.02.2009 - 10:30 Uhr
Ansonsten versuche es mit dem WebDeveloper PlugIn für den Firefox. Damit lassen sich IDs und Klassen anzeigen, wie diese heißen, und auch in welchen Dateien die Angaben hinterlegt sind (Webdeveloper -> CSS -> View Style Information).
Das PlugIn gibt es hier: Link
Alternativ gibt es noch den FireBug. Gerade beim "stylen" sind die beiden PlugIns für mich mittlerweile unverzichtbar geworden.
Vllt hilft es dir ja. :)
Grüße vom,
Genesis
danke, aber ...
am 03.02.2009 - 10:50 Uhr
Danke euch beiden für die Antwort.
@Thoor: diese Funktionen sind ja nett, wenn man einen Inhalt speziell darstellen mag. Vielleicht brauche ich das später. Danke.
@Genesis: mit diesen Tools habe ich im erzeugten HTML-Code nach den Elementen gesucht, wodurch ich die Position in den Template-Dateien finde. Nun bin ich halt dabei, in den Template-Dateien Änderungen vorzunehmen.
Allgemein ist mein aktuelles Problem beim Theme, dass in der Liste von Teasern der Nodes, in den HTML-Elementen eine CSS-Klasse "clear-block" verwendet wird. Das ist i.d.R. auch gut, aber in diesem Fall sorgt es dafür, dass meine Elemente falsch positioniert werden. Wenn ich die CSS-Klasse wegnehme, dann sieht es wieder OK aus.
Die CSS-Klasse hat ja ihren Zweck und ich will sie nicht in der style.css verändern. An anderen Stellen ist sie wichtig. Ich würde halt nur gerne $content auch weiter 'themen'.
Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".
Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".
Q-Base schrieb Die
am 03.02.2009 - 11:07 Uhr
Die CSS-Klasse hat ja ihren Zweck und ich will sie nicht in der style.css verändern. An anderen Stellen ist sie wichtig. Ich würde halt nur gerne $content auch weiter 'themen'.
Ja ... schon verstanden ... deshalb sollst Du ja auch eine eigene xxx.tpl.php für Dein verwendetes Theme erstellen und die dann anpassen, z.B. einen weiteren DIV Container einfügen, um explizit auf NUR DIESEN EINEN CONTENT zuzugreifen! In meinem Link oben sind alle CORE Template Dateien ...
Drupal 7 Screencasts in deutsch!
ahhhhh ... also ...
am 03.02.2009 - 11:46 Uhr
Ahhhhh, du meinst, wenn ich neben node.tpl.php und page.tpl.php noch andere Template-Dateien erstellen möchte, dann mache ich das so in etwa.
In einem Beispiel:
Ich erstelle eine Datei wie closure.tpl.php und kann dann die Funktion theme_closure() benutzen. Nehmen wir mal an, $content ist nun nicht die Liste von Teaser, sondern was anderes, könnte ich meine Zeile so ändern in:
<div class="content">
<?php theme_closure ( $content ); ?>
</div>
Habe ich das korrekt zusammengefasst?
Ich habe also einzelne Methoden als Interface, die PHP-Funktionen mit den Template-Dateien verbinden. Es würde aber nicht gehen, dass ich eine Datei content.tpl.php erstelle und dann theme_content() aufrufe, weil es diese Methode nicht in Drupal gibt.
Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".
Ciao, Q
---
Running Gag der IT seit den 70er: "Machen wir eben mal schnell ...".
Q-Base schrieb Ich habe
am 03.02.2009 - 11:40 Uhr
Ich habe also einzelne Methoden als Interface, die PHP-Funktionen mit den Template-Dateien verbinden. Es würde aber nicht gehen, dass ich eine Datei content.tpl.php erstelle und dann theme_content() aufrufe, weil es diese Methode nicht in Drupal gibt.
Ja ... Du kannst nur Template Dateien bearbeiten, die es durch die CORE Module gibt, oder aber auch welche, die von Zusatzmodulen stammen. Wenn Du die entsprechenden ( vielleicht mit oben genannten Tool ? ) Template Dateien gefunden hast, kopierst und aktivierst Du die in Deinem Theme.
Drupal 7 Screencasts in deutsch!