Typo3 Bednarik.org

Změny šablony

Jak změnit šablonu na základě konstanty

Možná jste se již setkali s požadavkem na webovou stránku, který zněl, že budoucí uživatel by si chtěl určovat, jak bude vypadat část webu. Tato změna by samozřejmě měla být co nejjednodušší.

 

Když mluvím o změně části vzhledu webu, tak mám na mysli velmi malou změnu na úrovni změny třídy u určitého prvku stránky. Jak si tyto dvě třídy nastylujeme už samozřejmě závisí jenom na nás.

 

V tomto příkladu obalíme hlavní obsah stránky jednou tagem DIV s třídou o-jedna a podruhé s třídou o-dva.

Na začátek si v konstantách šablony nadefinujeme konstantu, která nám dle své hodnoty (0/1) určí, jakou třídu zobrazit.

#cat=vzhled; type=text; label=Vzhled obsahu stránky: 0 pro vzhled jedna, 1 pro vzhled dva
typvzhledu = 1

 

Tuto konstantu tedy bude možné snadno editovat v "Constant Editoru" a do setupu šablony poté vložíme:

c = COA
c.10 = TEXT
c.10.value = [div id="obsah-jedna"]
c.10.if.equals = {$typvzhledu}
c.10.if.value = 1
c.10.if.negate = 1
c.15 = TEXT
c.15.value = [div id="obsah-dva"]
c.15.if.equals = {$typvzhledu}
c.15.if.value = 1
c.20 < styles.content.get
c.100 = TEXT
c.100.value = [/div]
page.10.subparts.CONTENT < c
#Hranaté závorky mají být samozřejmě špičaté. HTML editor to ale nějak nechtěl pochopit.

 

V případě, že naše konstanta má hodnotu 0, bude výsledek IF true, část 10 se zobrazí a část 15 ne. Pokud má konstanta hodnotu 1, bude výsledek samozřejmě opačný.

 

Toto řešení je pouze jedno z mnoha. Další, a asi také jednodušší, možností by bylo využít naší konstanty jako součásti názvu třídy. Na tomto příkladu si ale můžeme alespoň částečně ilustrovat, jak funguje vlastnost stdWrapu if.

 

You can support development of CoolUri extension (or anything else) by donation.

 
XLINE hosting + Typo3 = ideální kombinace