Theme Funktionen überschreiben und neue Template Dateien definieren.
am 20.09.2007 - 08:21 Uhr in
Guten Morgen,
Genauere Drupal Version: drupal-5.2-DE.tar.gz
Ich möchte gern Theme Funktionen überschreiben und neue Template Dateien definieren.
An sich ist die Möglichkeit eigene Drupal Verhalten durch überschreiben von Funktionen zu erhalten, ist sehr klar und sehr elegant. Gratulation an die Mitwirkenden.
Also habe ich in meinem Theme Verzeichnis template.php und hier als Beispiel breadcrumb.tpl.php Dateien erzeugt und sie sehen so aus.
breadcrumb.tpl.php
<span class="Tbreadcrumb"><?php print $breadcrumb ?></span>
template.php
function trafo_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
$variables = array(
'breadcrumb' => implode('*',$breadcrumb)
);
return _phptemplate_callback('breadcrumb',$variables);
}
}
Auch die _phptemplate_callback() Funktionen wollen nicht so richtig, aber wenn ich richtig verstehe handelt es sich um die gleiche Probleme.
Das Ergebnis ist, dass statt des Kodes von template.php ausgeführt wird, wird es einfach auf die Seite ausgegeben.
function trafo_breadcrumb($breadcrumb) { if (!empty($breadcrumb)) { $variables = array( 'breadcrumb' => implode('*',$breadcrumb) ); return _phptemplate_callback('breadcrumb',$variables); } }
Hat jemand eine Idee woran es liegen könnte?
Herzlichen Dank für alle Ideen.
Lg Pierre.
- Anmelden oder Registrieren um Kommentare zu schreiben
Hmm, merkwürdig. Wie sieht
am 20.09.2007 - 09:54 Uhr
Hmm, merkwürdig. Wie sieht denn der Rest Deiner template.php Datei aus?
--
bv - drupalcenter.de
Put this in your
am 20.09.2007 - 13:24 Uhr
Put this in your Drupal 5.x template.php
function phptemplate_breadcrumb($breadcrumb) {
if (drupal_is_front_page()) {
return t('Home');
}
if (!empty($breadcrumb)) {
$breadcrumb[] = drupal_get_title();
return '<div class="breadcrumb">'. implode(' › ', $breadcrumb) .'</div>';
}
}
Please overwrite the exist function phptemplate_breadcrumb().
Please post a little bit feedback.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Das ist alles...
am 21.09.2007 - 07:08 Uhr
Ich habe diesen Kode von Pro Drupal Development Buch übernommen. Bei der Gelegenheit: Das Buch ist spitze genauso wie Drupal selbst und Empfehlungswert.
Pierre
***********
Das Chaos besiegt die Ordnung, weil es besser organisiert ist. (Terry Pratchett)
aeinstein@virtas.net
hast du
am 21.09.2007 - 07:18 Uhr
ein
<?php
am anfang deiner template.php?
Drupal Migrationen, Modul- und Themeentwicklung - http://www.klapper.de
AEinstein wrote:
am 21.09.2007 - 07:50 Uhr
Ich habe diesen Kode von Pro Drupal Development Buch übernommen. Bei der Gelegenheit: Das Buch ist spitze genauso wie Drupal selbst und Empfehlungswert.
Pierre
Ich hab das Buch(Ebook) auch und versuch grad es zuübersetzen, damit ich es auch verstehe, kannst mir sicherlich auch sagen was " inversion of control design pattern," heisst, oder?
Meine Übersetzung wär : "Inversion des Steuerelements Entwurfsmuster"
http://kochazubi.net
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
ist Teil vom Ganzen "Pattern" Sammlung
am 21.09.2007 - 11:05 Uhr
Ich habe diesen Kode von Pro Drupal Development Buch übernommen. Bei der Gelegenheit: Das Buch ist spitze genauso wie Drupal selbst und Empfehlungswert.
Pierre
Ich hab das Buch(Ebook) auch und versuch grad es zuübersetzen, damit ich es auch verstehe, kannst mir sicherlich auch sagen was " inversion of control design pattern," heisst, oder?
Meine Übersetzung wär : "Inversion des Steuerelements Entwurfsmuster"
http://kochazubi.net
aeinstein@virtas.net
Eigentlich ist "inversion of control" ein Design Pattern. Also ich würde ehe so übersetzen:
"inversion of control" = Methodenfluss Umkehrung
"Design Pattern" = Musterentwurf
Wenn es dich interessiert und du mir bescheid sagen, kann ich nächste Woche genauer erklären was diese Musterentwurf eigentlich macht.
***********
Das Chaos besiegt die Ordnung, weil es besser organisiert ist. (Terry Pratchett)
aeinstein@virtas.net
Auf Seite 30 unter Module
am 21.09.2007 - 11:30 Uhr
Auf Seite 30 unter Module steht das ulrige wörtchen! wenn du dann schon dabei bist kannst mir das ganze buch erklären, dann brauch ich es nicht zu übersetzen :-)!
http://kochazubi.net
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
Das ganze Buch...
am 21.09.2007 - 12:17 Uhr
Dann brauchst du sehr viel Geduld :-0)...
Leider habe ich jetzt nur ein HardBook in der Hand und auf die Seite 30 kurz davor oder danach ist kein Pattern in sicht.
Anfang nächste Woche werde ich die E- Books besorgen und melde mich dann wieder...
Nur soviel vorab:
Allgemeine bei diese Pattern geht darum, dass die Applikationen über die Ereignis Verarbeitung (= Methodenfluss oder Methodenaufruf) keine Kontrolle haben.
Wenn ich Drupal richtig verstanden habe, (ich bin noch ein Drupal Baby…) Drupal hat die Kontrolle über alle Ereignisse, also ist dieses Pattern in Drupal bereits implementiert.
Aus das obige Beispiel angewendet:
Meine Applikation ist: Sammlung aus eigene Module, eigene Template, eigene Themes usw..
In meine eigene Applikation stelle ich zwar die Funktionen zur Verfügung, aber die Applikation selbst rufe sie nie auf. Diese Aufgabe hat generic theme()..
Mehr dazu nächste Woche, ich muss noch mein Flieger erwischen.
P.
***********
Das Chaos besiegt die Ordnung, weil es besser organisiert ist. (Terry Pratchett)
aeinstein@virtas.net
Now it is work..
am 21.09.2007 - 12:24 Uhr
Your code and my code work as well now. The problem was
<?php
and
?>
I flew over the book too fast. After I read the comment of Klapper, I read the book more exactly and it is written in it. The next time I will fly more slowly...
Thank you ...
***********
Das Chaos besiegt die Ordnung, weil es besser organisiert ist. (Terry Pratchett)
aeinstein@virtas.net
Genauer lesen sollte ich...
am 21.09.2007 - 12:27 Uhr
ein
<?php
am anfang deiner template.php?
Danke jetzt alles funktioniert wie im Buch beschrieben ist.
P.
***********
Das Chaos besiegt die Ordnung, weil es besser organisiert ist. (Terry Pratchett)
aeinstein@virtas.net
Lol is jetzt klar warum da
am 21.09.2007 - 12:32 Uhr
Lol is jetzt klar warum da klartext kam, ohne
<?php
?>
http://kochazubi.net
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.