Úprava menu pomocou funkcie IProcFunc
Zadanie
Potrebujeme vyrobiť textové menu, ktoré bude mať jednotlivé položky wrapované tagmi <li>|</li>, ktoré budú mať priradenú CSS triedu new, pokiaľ daná položka (stránka) menu má nastavenú hodnotu newUntil (Nový do), takže výstup by mal vyzerať napríklad takto (boldom označená položka má nastavenú hodnotu newUntil):
<ul>
<li><a href="index.php?id=182">layout: test 1</a></li>
<li><a href="index.php?id=195">menu text colored</a></li>
<li class="new"><b><a href="index.php?id=313">menu itemArrayProcFunc</a></b></li>
<li><a href="index.php?id=220">graphic header</a></li>
<li><a href="index.php?id=140">tooltip</a></li>
<li><a href="index.php?id=145">vts</a></li>
<li><a href="index.php?id=146">exif data</a></li>
</ul>
Takto to vyzerá výsledné menu >>
TS setup
includeLibs.usermenuitems = fileadmin/domain/inc/user_itemArrayProcFunc.php
page.10 = HMENU
page.10.1 = TMENU
page.10.1 {
wrap = <ul>|</ul>
IProcFunc = user_IProcFuncTest
}
page.10.1.NO {
allWrap = |
linkWrap = <li>|</li>
}
PHP (user_itemArrayProcFunc.php)
function user_IProcFuncTest( $I, $conf ) {
$itemRow = $conf['parentObj']->menuArr[$I['key']];
if( $itemRow['newUntil'] > 0 ) {
$I['parts']['notATagBeforeWrap_begin'] = '<li class="new"><b>';
$I['parts']['notATagBeforeWrap_end'] = '</b></li>';
}
return $I;
}
Poznámka
Iný príklad - pozri skript v inštalácii Typo3:
typo3/sysext/cms/tslib/media/scripts/example_itemArrayProcFunc.php
Generátor typoscriptu
Vytvára typoscript pre bežné použitie. Generátor je jednoduchý na obsluhu, stačí vyplniť zopár položiek formulára.