[TYPO3-german] Anfänger Frage / Typoscript / CONTENT / select.orderBy = rand()

S.Korth s.korth at dms-arts.com
Fri Jul 28 14:34:22 CEST 2006


"JoH" <info at cybercraft.de> schrieb im Newsbeitrag 
news:mailman.1.1154088133.11135.typo3-german at lists.netfielders.de...
>> Typoscript-Code:
>> CONTENT_BESCHREIBUNG = CONTENT
>> CONTENT_BESCHREIBUNG {
>>  table =  tt_content
>>  select.selectFields = header
>>  select.orderBy = rand()
>>  select.max = 1
>>  renderObj = TEXT
>>  renderObj.field = header
>>  wrap = Zufallsheader:<br />|
>> }
>>
>> Die CONTENET_BESCHREIBUNG ist ein subpart aus meinem Template.
>>
>> Im Grunde will ich aus der "tt_content" Tabelle aus einer ganz
>> bestimmten Spalte, hier jetzt als Beipiel die "header" Spalte, immer
>> nur einen Wert aus einer Zeile auslesen. Das ganze per Zufall. Jetzt
>> das Problem: Wie geht das ? Bei mir ließt er dann immer nur den
>> Header der aktuell geöffneten Seite aus, aber das will ich ja nicht.
>> Er soll auf jeder Seite einen Zufalls "header" auslesen.
>>
>> Die "header" Spalte ist jetzt nur ein Beispiel da dort ja meist Daten
>> enthalten sind. Später wollte ich eine eigene Tabelle dafür anlegen.
>
> Das Problem liegt im Abschnitt "select".
> Dort gibt es den Parameter "pidInList".
> Default hierfür is "this", also die aktuelle Seite.
> Wenn Du das umgehen willst, mußt Du dafür sorgen, daß unter "pidInList" 
> alle Seiten-Ids auftauchen, von denen möglicherweise ein Element gezogen 
> werden soll.
>
> Das kannst Du manuell machen:
>
> pidInList = 123,456,789 etc.
>
> oder per HMENU
>
> pidInList.cObject = HMENU
> pidInList.cObject {
>    entryLevel = 0
>    1 = TMENU
>    1 {
>        expAll = 1
>        NO {
>            doNotLinkIt = 1
>            stdWrap.field = uid
>            stdWrap.wrap = | |*|  ,| |*|
>            # Hier wird optionSplit benötigt
>            # Damit die erste uid kein , erhält
>        }
>    }
>    2 = TMENU
>    2 {
>        expAll = 1
>        NO {
>            doNotLinkIt = 1
>            stdWrap.field = uid
>            stdWrap.wrap = ,|
>        }
>    }
>    3 < .2
>    4 < .2
>    # usw. für alle verfübaren Ebenen.
> }
>
> oder ggf. mit einer eigenen userFunc, die alle verfügbaren Seiten ids 
> ausliest.
>
> Ungetestet, sollte aber gehen!
>
> Joey
>
> -- 
> Wenn man keine Ahnung hat: Einfach mal Fresse halten!
> (If you have no clues: simply shut your knob sometimes!)
> Dieter Nuhr, German comedian
> openBC: http://www.cybercraft.de
>

Danke für die schnelle Antwort !!!

Habe es gleich mit pidInList ausprobiert, das Problem ist nur, das ein 
Redakteur bald selbst Seiten anlegen soll. Dann gibt es
also eine gewisse Dynamic bei den ID's :-) die ich nicht per TypoSkript 
nachflegen kann.

Leider habe ich dein HMENU Beispiel nicht verstanden, vieleicht fehlt es mir 
da an Wissen. Bin quasi kurz davor
die Abfrage in PHP zu schreiben, und einfach einzubinden. Nur stört mich das 
etwas, weil ich davon ausgehe das es auch
mit typoskipt funzt...

Gruß,
Sascha 





More information about the TYPO3-german mailing list