Menü erstellen mit Daten aus anderen Tabellen als pages V2

Submitting your vote...
Rating: 5.0 of 5. 2 vote(s).
Click the rating bar to rate this item.

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!=&& $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


Top 10 Updates

Typoscript Eigenschaften mit stdWrap erweitern geändert am  13-Jun-2008 14:16:12
Anderes Feld für GMENU alt Text geändert am  13-Jun-2008 13:55:51
Lightbox ohne Extension einbinden geändert am  13-Jun-2008 13:46:21
Menü erstellen mit Daten aus anderen Tabellen als pages V2 geändert am  24-Mär-2008 13:02:25
Login geändert am  17-Mär-2008 12:18:29
Forum geändert am  17-Mär-2008 10:07:40
Wer sind wir? geändert am  26-Dez-2007 16:06:55
Menu als unnested lists (iphone navigation) geändert am  29-Okt-2007 15:05:47
If Bedingungen mit UND und ODER Operator... geändert am  16-Okt-2007 19:04:17
UserFunc um ein Problem mit HMENU Typ "special=updated" zu umgehen geändert am  16-Okt-2007 18:58:28
English
Suche: