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.

 

Typo3 konzultace

Poradenství o Typo3.

Call now

1,50€ za minutu

 
XLINE hosting + Typo3 = ideální kombinace