Problem Template [gelöst]
Eingetragen von quiptime (4972)
am 18.09.2007 - 12:24 Uhr in
am 18.09.2007 - 12:24 Uhr in
Sehe mal grad den Wald vor Baeumen nicht. Problem ist:
Ein erstelltes Template gibt seinen Inhalt nicht aus.
Die Theme-Funktion befindet sich im Location-Modul, Datei "location.theme":
<?php
function theme_locations($locations = array(), $hide = array()) {
$output = '<h3>'. t('Location(s)') .'</h3>';
foreach ($locations as $location) {
$output .= theme('location', $location, $hide);
}
return $output;
}
?>
Mein Template ist die Datei "locations.tpl.php" mit diesem Code:
<?php
$output = '<h3 class="location">'. t('Location(s)') .'</h3>';
foreach ($locations as $location) {
$output .= theme('location', $location, $hide);
}
print $output;
?>
Meine Aenderung "class="location"
" wird nicht angezeigt.
Habe mal spasseshalber die function theme_locations in der "template.php" eingetragen. Sofort meckert PHP wegen Zweitaufruf der Funktion. Also wird diese Funktion im Location-Modul verwendet.
Kann Jemand meinen Fehler entdecken oder hat eine Idee?
- Anmelden oder Registrieren um Kommentare zu schreiben
Nenn deine Funktion mal
am 18.09.2007 - 12:38 Uhr
Nenn deine Funktion mal "phptemplate_location"
gruß pebosi
gruß pebosi
--
https://pebosi.net
Das war ein typischer Selbstfaller
am 18.09.2007 - 13:40 Uhr
Das war ein typischer Selbstfaller. Sollte schnell gehen. Ha.
Man darf den Code in der "template.php" nicht vergessen. Im Falle meines Beispieles der Code der Theme-Funktion:
function theme_locations($locations = array(), $hide = array()) {
$output = '<h3>'. t('Location(s)') .'</h3>';
foreach ($locations as $location) {
$output .= theme('location', $location, $hide);
}
return $output;
}
In diesem Falle haelt die Theme-Funktion aber ein Schmeckerchen bereit. In der "template.php" wuerde man normalerweise erst mal schreiben:
function phptemplate_locations($locations = array(), $hide = array()) {
return _phptemplate_callback('locations', array('locations' => $locations, 'hide' => $hide));
}
Damit erhaelt man aber vom Template keine Ausgabe. Nothing. Egal was man in der Templatedatei zur Ausgabe printed. In dem Falle liegt das Problem in der "template.php".
Der Code in der "template.php" muss so aussehen:
function phptemplate_locations($locations, $hide) {
return _phptemplate_callback('locations', array('locations' => $locations, 'hide' => $hide));
}
Dann klappt's auch mit dem Nachbarn.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.