Eigene Templates trotz fehlender Auswahlmöglichkeit: Unterschied zwischen den Versionen
Aus Contao Community Documentation
K (→Ergänzung:) |
(Ich habe das mal auf die zu bevorzugende Variante geupt) |
||
Zeile 19: | Zeile 19: | ||
<source lang="php"> | <source lang="php"> | ||
<?php | <?php | ||
− | + | ||
− | + | if(in_array('klasse_die_man_abfragen_will', explode(' ', $this->class))) | |
{ | { | ||
include('template_1.tpl'); | include('template_1.tpl'); | ||
Zeile 36: | Zeile 36: | ||
<source lang="php"> | <source lang="php"> | ||
− | <?php if ( | + | <?php if(in_array('klasse_die_man_abfragen_will', explode(' ', $this->class))): ?> |
eigenes Template | eigenes Template | ||
<?php else: ?> | <?php else: ?> | ||
Zeile 46: | Zeile 46: | ||
'''Möglichkeit 2''' ist mehrfach getestet. | '''Möglichkeit 2''' ist mehrfach getestet. | ||
− | |||
− | |||
− | |||
---- | ---- | ||
Zeile 54: | Zeile 51: | ||
--[[Benutzer:MacKP|MacKP]] 17:36, 29. Sep. 2010 (CEST) | --[[Benutzer:MacKP|MacKP]] 17:36, 29. Sep. 2010 (CEST) | ||
− | + | [[Benutzer:ways2web|ways2web]] 00:01, 02. Jun. 2011 (CEST) '''thx 2 Florian''' | |
− | + | --[[Benutzer:Andreas|Andreas Burg]] 01:48, 20. Aug. 2012 (CEST) | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | [[Benutzer: | + |
Version vom 20. August 2012, 00:48 Uhr
betrifft | |
---|---|
TYPOlight Version | Alle Versionen |
Contao Version | ab 2.9 |
Es gibt den ein oder anderen Fall, wo man gerne verschiedene Templates in Modulen nutzen möchte, aber leider nicht die Auswahl hat im Modul selber.
Da kann man sich mit einem kleinen Trick behelfen.
Man vergibt der Stelle wo man ein extra Template nutzen möchte eine bestimmte CSS Klasse und fragt diese ab. Je nach dem, läd man dann die passende eigene Template Datei.
Vorgehen Möglichkeit 1
- Kopie des Original Templates anlegen (siehe auch Templates_bearbeiten)
- Zwei neue Templates anlegen (oder mehr.. wenn man das braucht) die man dann später benutzen möchte:
- template_1.tpl mit dem Oringinal Code
- template_2.tpl mit dem geänderten
- Jetzt nimmt man sich das Template was immer geladen wird und bringt dort die If-Abfrage ein, welches Template man nun wirklich laden möchte:
<?php if(in_array('klasse_die_man_abfragen_will', explode(' ', $this->class))) { include('template_1.tpl'); } else { include('template_2.tpl'); } ?>
Vorgehen Möglichkeit 2 (mit nur einer Datei)
Man kopiert das entsprechende Core-Template in den Ordner roots/templates/ (per FTP oder übers BE) und erzeugt darin folgende Struktur.
<?php if(in_array('klasse_die_man_abfragen_will', explode(' ', $this->class))): ?> eigenes Template <?php else: ?> default Template <?php endif; ?>
Wichtig ist eben, das man die Klasse auch richtig vergibt ;-)
Möglichkeit 2 ist mehrfach getestet.
--MacKP 17:36, 29. Sep. 2010 (CEST)
ways2web 00:01, 02. Jun. 2011 (CEST) thx 2 Florian
--Andreas Burg 01:48, 20. Aug. 2012 (CEST)