Hotová řešení
Zde uvedu několik příkladů zajímavých věcí, které se mi povedy v TypoScriptu. Můžete čerpat inspiraci...
Default Content
V případě, že máte mutli-language web můžete chtít mít obsah některého sloupce jako defaultní - tzn. stejný pro všechny jazyky. Tímto nastavením docílíte toho, že pokud je daný sloupec pro aktuální jazyk prázdný, vezme se obsah jazyku s ID 0 - defaultní jazyk.
c < styles.content.get
c.stdWrap.ifEmpty.cObject = CONTENT
c.stdWrap.ifEmpty.cObject {
table = tt_content
select.orderBy = sorting
select.where = colPos=0
select.languageField = 0
}
page.10.subparts.CONTENT < c
Odkaz
Vytvoří odkaz na stránku. Vhodné pokud používáte dodatečné parametry v URL (číslo jazyku) a není možné tedy tento odkaz vložit do přímo do šablony.
h = TEXT
h.value = <img src="logo.gif" width="250" height="70" />
h.typolink.parameter = 20
page.10.subparts.LOGO < h
User Menu
Můžeme si vytvořit vlastní menu. Stačí PHP soubor (menu.php) s funkcí function user_Menu($M,$conf), kde $M je menu a $conf je nastavení. Očekává se vracení proměnné $M, která obsahuje definici menu.
page.includeLibs.something = menu.php
mm = HMENU
mm {
wrap = <div id="menu">|</div>
1 = TMENU
1.noBlur = 1
1.NO.allWrap = <div class="menu-polozka">|</div>
1.itemArrayProcFunc = user_Menu
1.itemArrayProcFunc.count = 6
}
Rootline
Menu, které zobrazí cestu od začátku k aktuální stránce, takovéto Home - Typo3 - Hotová řešení
rootline = HMENU
rootline {
special = rootline
special.range = 0|-1
1 = TMENU
1.noBlur = 1
1.NO.allWrap = | -
}
Proměnná special.range definuje rozsah. Při troše experimentování dosáhnete úspěchu. TypoScript Reference o tom říká:
Defines at which level in the rootLine, the menu should start.
Default is "0" which gives us a menu of the very first pages on the site.
If the value is < 0, entryLevel is chosen from "behind" in the rootLine. Thus "-1" is a menu with items from the outermost level, "-2" is the level before the outermost...
Obrázkové nadpisy
Při této definici budou všechny nadpisy typu "Normální (Default)" obrázek s průhledným pozadím.
lib.stdheader.10.1.file {
10 {
text.current = 1
fontFile = media/font/Arial.ttf
fontSize = 15
fontColor = #000000
offset = 0,15
}
XY = [10.w]+4,20
transparentBackground = 1
reduceColors >
}
UID v menu
Někdy by mohlo být vhodné dostat do odkazů v menu něco o stránce, na daný odkaz odkazuje.
Například by se to mohlo hodit při stylování jednotlivých linků pomocí CSS. Mohli bychom třeba chtít přiřadit odkazům ID, které by obsahovaly uid stránky.
Pokud máme objekt pojmenovaný m, typu HMENU, kde m.1 = TMENU, potom to lze udělat takto:
m.1.NO.ATagParams.cObject = TEXT
m.1.NO.ATagParams.cObject.field = uid
m.1.NO.ATagParams.cObject.wrap = id="page|"
Dostaneme menu, kde linky budou mít přiřazené ID id="pageX" (X je uid stránky).
V druhém řádku lze "uid" nahradit třeba za subtitle nebo alias. Potom by bylo vhodné ale doplnit podmínku co dělat, když bude subtitle nebo alias prázdný:
m.1.NO.ATagParams.cObject = TEXT
m.1.NO.ATagParams.cObject.field = subtitle
m.1.NO.ATagParams.cObject.ifEmpty.field = uid
m.1.NO.ATagParams.cObject.wrap = id="page|"
Pokud subtitle nebude prázdné, použije se místo uid. V opačném případě dostaneme to co v prvním příkladu.