


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 -- - ERROR: Line 1: Object Name String, "--" was not preceded by any operator, =<>({;Line 38: Object Name String, "--" was not preceded by any operator, =<>({ 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 - ERROR: Line 65: Object copied in this line "ACT < .NO" would leave either the value or properties untouched in TypoScript Version 1. Please check that this is not a problem for you. ACT = 1 ACT.allWrap = <b>|</b><br> } page.7911 < obj.header -- cut -- - ERROR: Line 34: Object Name String, "--" was not preceded by any operator, =<>({;Line 71: Object Name String, "--" was not preceded by any operator, =<>({
Dieses Snippet wurde von Peter Klein eingesendet


Kommentare (1)