Hallo zusammen,
ich möchte in meinem Menu gewisse Änderungen an den Einträgen der zweiten Ebene vornehmen. Dazu habe ich IProcFunc benutzt.
Template
//---------------------------------
// LEFTMENU
//---------------------------------
page.includeLibs.user_functions = typo3conf/ext/vip_util/class.vip_user_functions.php
page.10.marks.LEFTMENU = HMENU
page.10.marks.LEFTMENU{
entryLevel = 2
// 1.Menuebene = Textmenu
1 = TMENU
1{
wrap = <ul>| </ul>
noBlur = 1
//Normalfall
NO.wrapItemAndSub = <li>|</li>
NO.stdWrap.field = title
// Mit Unterpunkten
IFSUB = 1
IFSUB.wrapItemAndSub = <li>|</li>
IFSUB.stdWrap.field = title
IFSUB.ATagParams = class="with_subs"
ACT = 1
ACT.wrapItemAndSub = <li>|</li>
ACT.ATagParams = class="with_subs_open"
// Angewählt
CUR = 1
CUR.wrapItemAndSub = <li>|</li>
CUR.ATagParams = class="active"
CUR.stdWrap.field = title
CURIFSUB = 1
CURIFSUB.wrapItemAndSub = <li>|</li>
CURIFSUB.ATagParams = class="with_subs_open_active"
CURIFSUB.stdWrap.field = title
}
// 2.Menuebene = Textmenu
2 = TMENU
2{
IProcFunc = user_functions->getMenuClass
wrap = <ul>|</ul>
NO = 1
NO.linkWrap = <li>|</li>
NO.stdWrap.field = title
noBlur = 1
// CUR aktivieren
CUR = 1
CUR.linkWrap = <li>|</li>
CUR.stdWrap.field = title
CUR.ATagParams = class="active"
}
// 2.Menuebene = Textmenu
3 = TMENU
3{
expAll = 1
wrap = <ul>|</ul>
NO = 1
NO.linkWrap = <li>|</li>
NO.stdWrap.field = title
noBlur = 1
}
}// Ende LEFTMENU
Die zugehörige Funktion sieht so aus:
function getMenuClass($menuArray,$conf){
$res =
$GLOBALS['TYPO3_DB']->exec_SELECTquery(
'tx_vippages_todo_page',
'pages',
'uid='.$menuArray['uid'].' and tx_vippages_todo_page=1'
);
if ($row=$GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$menuArray['val']['ATagParams'] ='class="todo"';
}else{
$menuArray['val']['ATagParams'] ='class="nottodo"';
}
print_r($menuArray);
return $menuArray;
}
Die Debug-Ausgabe zeigt mir auch, dass die entsprechenden Änderungen am $menuArray durchgeführt worden sind.
Aber leider ändert sich am Menu nichts. Ich hatte den Eintrag in TS-Ref so verstanden, dass die Änderungen zurückgegeben werden. Aber ich scheine wohl etwas vergessen zu haben. Ich hoffe es einer von Euch hat eine Idee.
Tschau Susanne