[TYPO3-german] neues menü, aber wie

JoH info at cybercraft.de
Thu Sep 7 02:28:23 CEST 2006


>> Tja das dachte ich mir das ich jetzt natürlich irgendwie in die
>> Pflicht muss. Tja, also versuch ich's doch mal....
>>
>> Knackpunkt in die fukntion stdWrap von TYPOscript (siehe Doku dazu
>>
http://typo3.org/documentation/document-library/references/doc_core_tsref/current/view/5/1/
>> )
>>
>> Ich würd das ganze in ein COA packen. Erst mal den Titel auslesen
>> 8oder welches Feld auch immer -> phpMyAdmin), dann das JSMENU
>> drunter klatschen.
>>
>> So mal aus dem Ärmel geschüttelt:
>>
>> temp.menu = COA
>> temp.menu {
>> 10 = TEXT
>>          10.field = title
>>          10.wrap = Hier bist du: |
>>
>> 20 = HMENU
>> 20 {
>>   special = directory
>>     # id of root page where the menu starts
>>   special.value = 3
>>   1=JSMENU
>>   1.target=_top
>>   1.firstLabelGeneral =quickjump to snip
>>   }
>> }
>>
>>
>> Würd mich wuindern wenn das "out of the Box" was wird, hab das TS
>> auch
>> nur zusammengestohlen von meinen Seiten. Aber das wäre mal mein
>> Anfang dazu.
>
> ich glaube nicht dass das funktionieren wird, weil es an meinem
> Problem vorbei geht.
> Du baust etwas aus der aktuellen Seite heraus auf.
>
> ich möchte aber eine 'Sitemap' von einer anderen Seite einblenden.
> bzw. solch eine Sitemap, für drei unterschiedliche Seiten einbinden.
>
> Dass ich einmal das Abstract-Feld auslesen muss und einmal ein Menü
> der Unterseiten ist mir schon klar. Nur bezieht sich das nicht auf
> die aktuelle Seite, sonern eine, die ich über die 'Variable' "pages"
> erhalte (das ganze wird ja ein Contentelement vom Typ Sitemap, und in
> solch einem Contentelement kann man eine (oder mehrere) Seiten(IDs)
> eingeben. Leider komm ich an beliebige Felder dieser Seite(n) nicht
> so einfach ran, wie an Felder der aktuellen Seite.  (siehe erstes
> Posting)
>
> In PHP kein Problem: SQL-Abfrage alle Felder zwischenspeichern und
> für die nächste Abfrage benutzen. In Typoscript leider nicht so
> einfach.

Versuch's mal so:

10 = HMENU
10 {
    wrap = <div>|</div>
    special = list
    special {
        value.cObject = COA
        value.cObject {
            stdWrap.crop = -1
            10 = RECORDS
            10 {
                source.field = pages
                tables = pages
                conf.pages = TEXT
                conf.pages {
                    field = pid
                    wrap = |,
                }
            }
        }
    }
}

Damit kommst Du um die Register-Bastelei herum, weil RECORDS im Gegensatz zu
CONTENT keine Pflichtangabe pidInList mit default "this" kennt.
Das COA wird nur benötigt, um per stdWrap.crop das letzte Komma
abzuschneiden, weil ich mir nicht sicher bin, ob die MySQL Abfrage sonst
nicht vor die Wand läuft.

Sollte so einwandfrei laufen.

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
T3 cookbook: http://www.typo3experts.com





More information about the TYPO3-german mailing list