Wie kann ich den aktuellen Namen des eingesetzten Themes oder die ID des Themes der jeweiligen Seite im Template (z.B. fe_page.tpl) auslesen ?
Hier wird leider nichts aufgeführt: http://www.contao.org/inserttags.html#new-name
Wie kann ich den aktuellen Namen des eingesetzten Themes oder die ID des Themes der jeweiligen Seite im Template (z.B. fe_page.tpl) auslesen ?
Hier wird leider nichts aufgeführt: http://www.contao.org/inserttags.html#new-name
edit:
Hab eine passende Lösung hierfür erstellt, wobei man das sicherlich irgendwie optimieren kann.
template: fe_page.(tpl/html5)
Soweit ich das sehe, wird das ja bei jedem Seitenaufruf abgefragt ?PHP-Code:
<?php
//## get name of layout's theme ##
$theme;
$query = $this->layout->pid;
$this->import('Database');
$result = $this->Database->prepare("SELECT name FROM tl_theme WHERE id=?")
->execute($query);
$result = $result->fetchAssoc(); //cleanup!
$theme = $result['name']; // = final
?>
<?php echo $theme ?> //= MySuperThemeName
Geändert von mae (12.08.2011 um 14:07 Uhr)
Hallo,
es geht auch etwas kürzer:
Keine Ahnung, ob es so auch schneller ist.PHP-Code:
<?php
// get name of layout's theme
$pid = $this->layout->pid;
$this->import('Database');
$theme = $this->Database->prepare("SELECT name FROM tl_theme WHERE id=?")->limit(1)->execute($pid);
echo $theme->name; //= MySuperThemeName
?>
MfG
Ulrike
Geändert von Ulrike (12.08.2011 um 21:37 Uhr)
DB-Abfragen sollten niemals einfach im Template eingefügt werden! Erstellt lieber eine kleine Extension!!!
Hallo,
ist natürlich besser, eine kleine Erweiterung zu erstellen. Der erforderliche Hook ist replaceInsertTags, als Vorlage für die Erweiterung kann man moreTags nehmen. Ist schnell erledigt, und man kann dann im Template z.B. eingeben:
Dabei ist 'theme' der Teil des InsertTags, der in der Erweiterung definiert werden muss.PHP-Code:
<div>{{theme::<?php echo $this->layout->pid; ?>}}</div>
Die Datenabfrage von weiter oben kann man dann in der Erweiterung verwenden.
MfG
Ulrike
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen