Garland Theme: template.php - Problem bei Übernahme von Code
am 02.10.2008 - 14:30 Uhr in
Hallo,
ich habe vom Garland Theme aus der template.php folgenden Code übernommen:
function phptemplate_comment_wrapper($content, $type = null) {
static $node_type;
if (isset($type)) $node_type = $type;
if (!$content || $node_type == 'forum') {
return '<div id="comments">'. $content . '</div>';
}
else {
return '<div id="comments"><h2 class="comments">'. t('Comments') .'</h2>'. $content .'</div>';
}
}Dieser soll bei allen Inhaltstypen außer beim Forum, eine Kommentarüberschrift einfügen.
Allerdings funktioniert die Übernahme in meinem Theme nur bedingt. Beim Forum wird die Überschrift leider ebenso eingeblendet, obwohl laut dem Code hier die Überschrift nicht mit ausgegeben werden sollte. Der Inhaltstyp des Forum lautet auch "forum"...kann mir jemand erklären was hier falsch läuft? Habe schon alles durchprobiert....
Danke euch vorab.
Viele Grüße
Florian
- Anmelden oder Registrieren um Kommentare zu schreiben

Garland overrides template
am 02.10.2008 - 17:06 Uhr
Hallo Florian,
Garland scheint ein Problem damit zu haben, wenn man eigene Themes anwenden will, das wäre mein erster Verdächtiger:
"Garland overrides template with theme function"
http://drupal.org/node/295895
Ähnliche Probleme hatten andere Leute bei Garland auch mit dem Event-Modul:
"Can't seem to theme the events module output"
http://drupal.org/node/306497
Hoffe, das hilft weiter.
Frank
Soweit ich das sehe.
am 02.10.2008 - 19:09 Uhr
Soweit ich das sehe. Beziehen die sich darauf, dass es nicht in D6 funktioniert. In D5 gibt es die Funktion phptemplate_comment_wrapper(). Trotzdem scheint Sie nicht zu funktionieren... Ich glaube weiterhin, dass irgendwas am Code nicht stimmt, was ich übersehen habe.
Kann den Code bitte jmd mal durchchecken?
So ich habe es nun
am 02.10.2008 - 19:42 Uhr
So ich habe es nun gelöst.
Folgender Zusatzcode musste noch in die jeweilige node.tpl.php
<?php phptemplate_comment_wrapper(NULL, $node->type); ?>Trotzdem schien es nicht zu funktionieren. Anscheinend nutzt das Forum, nicht eine normale node.tpl.php
Also habe ich den Code in der template.php folgendermassen umgeschrieben:
function phptemplate_comment_wrapper($content, $type = null) {
static $node_type;
if (isset($type)) $node_type = $type;
if (!$content || $node_type == 'artikel') {
return '<div id="comments"><h2 class="comments">'. t('Comments') .'</h2>'. $content .'</div>';
}
else {
return '<div id="comments">'. $content . '</div>';
}
}
Jetzt wird die Überschrift nur beim Inhaltstyp "artikel" angezeigt, dass ist für mich ausreichend. Kann ich dann beliebig erweitern, falls andere Inhaltstypen ebenso die Überschrift bei den Kommentaren bekommen soll.