


Hier ist ein kleines PHP codesnippet das es erlaubt andere tabllen als "pages" zum generieren von Menues zu verwenden.
Es erweitert die userfunc eigenschaft des HMENU special mit der select eigenschaft. Mehr infos in derTsref, select.
Erstelle eine datei im "fileadmin" ordner und nenn sie "menuFunc.inc", dann fügst du folgenden php content dort ein:
-- cut --
<?php
class user_menuFunc {
function makeMenuArray($content,$conf) {
$menuArr = array();
$lConf = $conf["userFunc."];
$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)) {
$menuArr[] = $row;
}
}
return $menuArr;
}
}
?>
-- cut --
Und hier ist ein beispiel wie man diese funktion nutzt um eine liste der tt_address records als TMENU darzustellen. (Es könnte natürlich auch ein GMENU sein).
PS: Vergiss nicht das "select" statement in dieser Zeile zu ändern(muss auf die uid des sysfolders mit den tt_address einträgen zeigen):
lib.usermenu.special.userFunc.select.pidInList = 4
page.includeLibs.usermenu = fileadmin/menuFunc.inc lib.usermenu = HMENU lib.usermenu.special = userfunction lib.usermenu.special.userFunc = user_menuFunc->makeMenuArray lib.usermenu.special.userFunc.table = tt_addess lib.usermenu.special.userFunc.select.pidInList = 4 lib.usermenu.1 = TMENU lib.usermenu.1 { NO { doNotLinkIt = 1 stdWrap.field = user # entferne das # von der nächten zeile wenn du sehen willst welche felder verfügbar sind! #stdWrap.data = debug:data typolink.parameter.field = www allWrap = <br> } }
Dieses Snippet wurde von Peter Klein eingesendet


Kommentare (1)