Antwort
 
LinkBack Themen-Optionen Thema bewerten Ansicht
  #1  
Alt 17.06.08, 22:08
HW HW ist offline
Forum Zuschauer
 
Registriert seit: 17.06.08
Beiträge: 2

select.pidInList rekursiv


Hallo,
ich möchte mit folgendem Script ein Menü von Einträgen einer Extension erstellen. Der aktive Eintrag wird jeweils hervorgehoben. Im Sysfolder mit der PID 11 liegen die Datensätze. Darunter folgen dann noch weitere Sysfolder mit Inhalten.

Das Problem vor dem ich stehe ist die PIDs rekursiv auszulesen. Momentan müsste ich die entsprechenden PIDs als Liste manuell hintereinander ins Typoscript schreiben. Ich würde gerne nur die Root-PID(11) eintragen und die PIDs der Unterebenen automatisch als Liste bekommen.

Folgenden Code habe ich in diesem Zusammenhang schon gefunden:
$this->pidList = $this->pi_getPidList($this->cObj->data['pages'],$this->conf["recursive"]);

Leider scheiterten bisher alle Versuche dies zu implementieren.
Hat jemand eine Idee?


PHP-Code:

<?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;
}

}

?>
Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
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
obj.header.special.userFunc.table = tx_jmgallery_albums

# uid der Seite wo diese Records gespeichert sind
obj.header.special.userFunc.select.pidInList = 11

#den Extension key von dem die entsprechnde GET Variable für den ACT status kommt.
obj.header.special.userFunc.actextkey = tx_jmgallery_pi1
obj.header.special.userFunc.actextvar = albumUid
obj.header.1 = TMENU
obj.header.1 {
NO {
doNotLinkIt = 1
stdWrap.field = name
stdWrap.typolink.useCacheHash = 1
#    stdWrap.typolink.parameter =
stdWrap.typolink.additionalParams.dataWrap = &tx_jmgallery_pi1[albumUid]={field:uid}
allWrap = |<br>
}
ACT < .NO
ACT = 1
ACT.allWrap = <b>|</b><br>
}

page.7911 < obj.header
Das Snippet stammt ursprünglich von TYPO3 Wizard: Menues erstellen mit Daten aus anderen Tabellen als "pages" V2
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #2  
Alt 18.06.08, 08:11
Benutzerbild von just2b  
Registriert seit: 03.11.04
Alter: 25
Beiträge: 2.520

schau in den bugtracker, da hab ich einen patch gepostet

georg
__________________
TYPO3 3.7./3.8.X/4.0.X/4.1.1
just2b.com | Google Maps | SmoothGallery | Das grösste werbefreie TYPO3 Forum typo3.net | Content-Management-Systeme mit TYPO3 & RedDot
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #3  
Alt 18.06.08, 20:21
HW HW ist offline
Forum Zuschauer
 
Registriert seit: 17.06.08
Beiträge: 2

ok, danke dir.

würde trotzdem gerne wissen wie es mit Typoscript funktionieren würde.

kann mir jemand sagen, wieso folgender Code nicht funktioniert?

Typoscript-Code:
1:
2:
3:
4:
5:
6:
7:
8:
obj.header.special.userFunc.select.pidInList.cObject = CONTENT
obj.header.special.userFunc.select.pidInList.cObject = {
table = pages
select.pidInList = 11
renderObj = TEXT
renderObj.field = uid
renderObj.wrap = |,
} - ERROR: Line 7: An end brace is in excess.


meine Sysfolder-Struktur sieht so aus:

Pictures [pid=11] // level 1
|--Gallery1 [pid=15] // level 2 ...
|--Gallery2 [pid=16]
...
|--GalleryXYZ [pid=123]

die ausgabe sollte so aussehen "15, 16,..., 123"
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #4  
Alt 19.06.08, 08:13
Benutzerbild von just2b  
Registriert seit: 03.11.04
Alter: 25
Beiträge: 2.520

mit TS gehts nur wenn du den patch einspielst, ansonsten brauchst du eine user_func

georg
__________________
TYPO3 3.7./3.8.X/4.0.X/4.1.1
just2b.com | Google Maps | SmoothGallery | Das grösste werbefreie TYPO3 Forum typo3.net | Content-Management-Systeme mit TYPO3 & RedDot
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #5  
Alt 20.06.08, 11:49
TYPO3 Forum Team
Moderator
 
Registriert seit: 01.12.05
Ort: Kiel
Alter: 39
Beiträge: 2.087
Armin eine Nachricht über ICQ schicken Armin eine Nachricht über Skype™ schicken

moin,

es gibt einige Wege das per TS zu lösen. Ein Möglichkeit wäre mit HMENU und LOAD_REGISTER zu arbeiten.

Armin
__________________
Nichts kommt von selbst, sogar eine Dummheit muss man erst machen.

Tipps und Tricks zu TYPO3: http://typo3.intervation.de
Agentur: Ideenwerft Werbeagentur
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
  #6  
Alt 20.06.08, 23:00
Benutzerbild von just2b  
Registriert seit: 03.11.04
Alter: 25
Beiträge: 2.520

ja man kanns definitiv aber auch übertreiben... ;)
__________________
TYPO3 3.7./3.8.X/4.0.X/4.1.1
just2b.com | Google Maps | SmoothGallery | Das grösste werbefreie TYPO3 Forum typo3.net | Content-Management-Systeme mit TYPO3 & RedDot
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Wong this Post!Spurl this Post!Reddit! Diesen Post bei linksilo.de bookmarken!
Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Seitentitel rekursiv erzeugen lassen JensL TYPO3 4.x Fragen und Probleme 10 06.03.08 10:24
Select Pro JoachimG TYPO3 4.x Fragen und Probleme 0 01.09.07 15:56
Datensätze rekursiv einfügen zefix TYPO3 3.x Fragen und Probleme 2 05.10.06 21:44
Mehrere Subparts, davon zwei mit pidInList snoy TYPO3 4.x Fragen und Probleme 2 06.08.06 21:30
Seitenbaum rekursiv kopieren? Winddancer TYPO3 3.x Fragen und Probleme 2 25.04.06 11:16


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 Uhr.


Powered by vBulletin® Version 3.7.3 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0