

Hier ist eine verbesserte version des PHP Scripts und ein neues Typoscript beispiel, welches das PHP Script so konfiguriert, das eine GET Variable verwendet wird um eine "Seite" aktiv (ACT) zu setzen.
Im Typoscript für diese userFrunc kann man 2 neue parameter setzen:
obj.header.special.userFunc.actextkey = tx_ablinklist_pi1
Diese einstellung setzt den Extension key von dem die entsprechnde GET Variable für den ACT status kommt.
Und:
obj.header.special.userFunc.actextvar = category_uid
Setzt den namen der GET Variable in der Extension ( in diesem falle alles zusammen: tx_ablinklist_pi1[tx_ablinklist_pi1])
Die neue PHP class/function (Speichern unter "fileadmin/menuFunc2.inc")
-- cut --
<?php
class user_menuFunc {
function makeMenuArray($content,$conf) {
$menuArr = array();
$lConf = $conf["userFunc."];
$actuid = 0;
if ($lConf['actextkey'] && $lConf['actextvar']) {
$getval = t3lib_div::_GET();
$actuid = $getval[$lConf['actextkey']][$lConf['actextvar']];
}
$res = $this->cObj->exec_getQuery($lConf["table"],$lConf["select."]);
if ($error = $GLOBALS['TYPO3_DB']->sql_error()) {
$GLOBALS['TT']->setTSlogMessage($error,3);
}
else {
$GLOBALS['TT']->setTSlogMessage('NUMROWS:'.$GLOBALS['TYPO3_DB']->sql_num_rows($res));
while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
if ($actuid!=0 && $actuid==$row['uid']) $row['ITEM_STATE']='ACT';
$menuArr[] = $row;
}
}
return $menuArr;
}
}
?>
-- cut --
Das neue Typoscript Beispiel:
-- cut -- page.includeLibs.menustuff = fileadmin/menuFunc2.inc obj.header = HMENU obj.header.special = userfunction obj.header.special.userFunc = user_menuFunc->makeMenuArray # Die Tabelle setzen aus der man das Menü generieren möchte # In diesem Beispiel word die Modern Linklist (ab_linklist) extension verwendet. obj.header.special.userFunc.table = tx_ablinklist_category # uid der Seite wo diese Records gespeichert sind obj.header.special.userFunc.select.pidInList = 91 #den Extension key von dem die entsprechnde GET Variable für den ACT status kommt. obj.header.special.userFunc.actextkey = tx_ablinklist_pi1 #Setzt den namen der GET Variable in der Extension ( in diesem falle alles zusammen: tx_ablinklist_pi1[tx_ablinklist_pi1]) obj.header.special.userFunc.actextvar = category_uid obj.header.1 = TMENU obj.header.1 { NO { doNotLinkIt = 1 stdWrap.field = label stdWrap.typolink.useCacheHash = 1 stdWrap.typolink.parameter.data = page:uid stdWrap.typolink.additionalParams.dataWrap = &tx_ablinklist_pi1[category_uid]={field:uid} #stdWrap.data = debug:data allWrap = |<br> } ACT < .NO ACT = 1 ACT.allWrap = <b>|</b><br> } page.7911 < obj.header -- cut --
Dieses Snippet wurde von Peter Klein eingesendet




CUR {
after.cObject = HMENU
after.cObject < temp.extmenu
}
Add comment