Node Add - Formular themen
Eingetragen von lotta26 (6)
am 12.07.2010 - 10:10 Uhr in
am 12.07.2010 - 10:10 Uhr in
Hallo,
ich benutze ein Subtheme "abc" vom Zen-Theme und würde gerne für den Typ "article" das Node-Add-Formular anpassen.
Normalerweise funktioniert das so, dass man im template.php folgendes einträgt:
<?php
function abc_theme($existing, $type, $theme, $path) {
return array(
'article_node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'article-node-form',
),
);
}
?>
Da Zen das Basis-Theme ist, existiert die Funktion abc_theme in meiner template-Datei des abc-Themes bereits:
function abc_theme(&$existing, $type, $theme, $path) {
$hooks = zen_theme($existing, $type, $theme, $path);
return $hooks;
}
Wie bekomme ich nun diese beiden return-Werte der Funktion "unter einen Hut"?
Vielen Dank schon mal für die Hilfe!
- Anmelden oder Registrieren um Kommentare zu schreiben
hook_theme
am 12.07.2010 - 10:24 Uhr
Hallo.
Es werden immer alle Implementierungen von hooks (natürlich nur in aktivierten Modulen und Themes) ausgeführt und die Ergebnisse entsprechend weiterverarbeitet.
Somit musst Du Dich nicht darum kümmern, die Ergebnisse zu verarbeiten. Drupal ruft von Zen und von Deinem Theme die jeweilige Implementierung von [api:hook_theme] auf und führt die Ergebnis-Arrays zusammen.
hth,
Stefan
Danke für die schnelle
am 15.07.2010 - 14:57 Uhr
Danke für die schnelle Antwort! So ganz klar ist es mir noch nicht. Beide Funktionen sind im gleichen Template, also im verzeichnis /sites/all/themes/abc/template.php. Da kann ich ja nicht die gleiche Funktion 2 Mal aufrufen. Wenn ich die beiden Teile in eine Funktion packe, muss ich doch irgendwie unterscheiden, welchen Zweig man wann durchlaufen muss!?
Also in der Art:
<?php
function abc_theme($existing, $type, $theme, $path) {
if blabla {
return array(
'article_node_form' => array(
'arguments' => array('form' => NULL),
'template' => 'article-node-form',
),
);
}
else{
$hooks = zen_theme($existing, $type, $theme, $path);
return $hooks;
}
}
?>