Zum Inhalt springen

optionsplit ergebnis von NO auf IFSUB !?

Erstellt am 4. Februar 2007 · 8 Antworten · letzte Antwort am 7. März 2007

Tags: Frage

bbb ·

Hi all,
hier handelt es sich um eine spezielle Frage zum OptionSplit. Ich habe ein Menü mit fünf Level1 Seiten und jeweils mehreren Level2 Seiten. Diese sollen mit fünf Kategoriefarben versehen werden (Kategoriefarbe == Level1)

In meinem TS sieht das bislang so aus:

temp.pagenavi = COA
temp.pagenavi.10 = TEXT
temp.pagenavi.10.value = Menu
temp.pagenavi.10.wrap = <h3>|</h3>
temp.pagenavi.20 = HMENU
temp.pagenavi.20 {
	special=directory
	special.value = 208
        excludeUIDList = 209,214,215
	1 = TMENU
	1.expAll = 1
	1.stdWrap.htmlSpecialChars = 1
	1.IProcFunc = user_cronaccessiblemenus->makeAccessible
        // jede menge anderer code ;)  [...]
	1.wrap= <ul>|</ul>
	1.noBlur = 1
	1.expAll = 1
	1.NO = 1
	1.NO.ATagTitle.field = title
	//1.NO.ATagParams = class="pv" || class="zu" |*| class="au" |*| class="mk" || class="ok"
	1.NO.wrapItemAndSub = <li class="programmverteilung">|</li>|*|<li class="zulassung">|</li>||<li class="aufsicht">|</li>||<li class="medienkompetenz">|</li>|*|<li class="offenerkanal">|</li>
	1.IFSUB < .NO 
	1.IFSUB = 1 
	//1.IFSUB.wrapItemAndSub = 

		
	1.ACTIFSUB = 1
	1.ACTIFSUB < .IFSUB
	1.ACTIFSUB.wrapItemAndSub = <li class="activ">|</li> 
	
	2 < .1
	2.wrap = <ul>|</ul>
	
	// 3 < .2
}

Würde nun natürlich auch gerne die Unterpunkte mit diesem entstehenden Wert einfärben. Aber das hat bislang nichts gebracht. Hab es mit globalem wrapItemAndSub versucht, aber das war´s net. Alte Hasen sehen vielleicht sogar, dass der obige Code wegen dem auskommentiertem //1.IFSUB.wrapItemAndSub (in Zeile 24) nichtmal ein richtiges Menü erzeugt. Es geht mir nur darum, dass ich den Wert aus optionSplit für das SUB übernehmen kann.

Wie macht man sowas?

thx in advance!

bbb

bbb ·

oder muss man da zuerst sowas wie ne option split variable belegen? das wär doch was 😉

hab keinen plan, und will nicht wirklich statische menüs haben... dafür macht man doch typo.

just2b ·

Hallo,

ich verstehs grad nicht. Du hast doch ohnedies ein Listenmenü. Dann mach das doch schön sauber über CSS!

.aufsicht ul li { background:red}
oder .aufsicht ul li a { background:red}

kenne nicht dein css, aber so läuft das sauber

georg

bbb ·

whoa steh ich echt so aufm schlauch??

ich sag mal danke und such mir den code raus, um akurat die classes hinzuzufügen. 😉

aber das optionsplit ergebnis lässt sich nicht mehrmals verwenden? sollte es mal wirklich nötig werden...

bbb ·

hab mal versucht, die LI ids auf ebene 1 zu verteilen und dann im css code die #id li ul li zu adressieren, das wäre ja die zweite ebene.

leider funktioniert bei grad das Anfänger ding nicht, und zwar bleibt mein Menü nicht auf <root> sondern geht immer mit in die tiefe des Seitenbaumes und zeigt mir den aktuellen Knoten als <root> an. (komm also nie in die tiefe weil das menü sich immer neu aufbaut)...

gehört in die anfängerfragenkiste, ich weiss

entryLevel = 0 ist auch nicht mehr das, was es mal war :o

@georg dein menü hab ich schon mehrmals gesehen, kommt ganz gut. aber ich will auf jeden fall ein simples listentext menü haben, denn die seite, die ich ablöse mit typo3 setzt auf einem js menü auf und das is einfach nix...

bbb ·

das menü ist immer noch heisses eisen... ich hab mir für die entwicklungsdauer damit geholfen, zwei TMENUs untereinander zu machen. Eins, das die fünf bereiche anlegt, das sieht so aus:

temp.tnavi = HMENU
temp.tnavi {
        special = list
        special.value = 222, 220, 218, 224, 226
        special.range = 0|1
        1 = TMENU
        1 {
                wrap = <ul>|</ul>
                noBlur = 1
                NO = 1
                NO 
{
                        wrapItemAndSub = |*|<li class="aufsicht" >|</li>||<li class="medienkompetenz" >|</li>||<li class="offenerkanal" >|</li>||<li class="zulassung" >|</li>||<li class="programmverteilung" >|</li>|*|
                }
        }
}

Da werden also für fünf Menüpunkte fünf CSS Klassen vergeben. Ich will garnicht wissen, wie das aussieht, wenn da dann jemand nachträglich noch ne sechste Seite reinfummeln will... is also auch alles keine Lösung auf Dauer... aber ich brauch die fünf Kategorien farblich codiert, denn die ganze Page baut darauf auf.

Das temp.tnavi wird dann im Roottemplate auf mein DIV gemappt, in dem das Menü eigentlich auch stehen soll. Da so ein special-Menü nicht mehr hierarchisch korrekt ist, musste ein anderes menü darunter... das sind bis jetzt einfach nur vier TMENU Punkte (1-4) mit dem entryLevel = 0.

Meine Ansätze, ein farbig codiertes Menü und gleichzeitig ne semantisch ordentliche Liste zu bauen, scheitern irgendwie daran, dass beides zusammen immer wie eine luftschlange aussieht, wo sich die fünf farben fröhlich durcheinander würfeln...

Wie mach ich aus obigem Code ein hierarchisches TMENU, dessen eltern-LI knoten ne neue UL starten und in der untersten ebene (also 1 = TMENU) die fünf css klassen angehangen werden?
fyi der Baum enthält auch nur die fünf darzustellenden Seiten... (uids 222, 220, 218, 224, 226 halt) diese enthalten dann bis zu drei ebenen tiefe kindknoten.

knobelaufgabe, gell? :p

wär cool, wenn mir da jemand mit spacy typoscript code helfen würde.

big shouts, bbb

ArminB ·

moin,

es wäre doch wesentlich einfacher wenn du erstmal den Quelltext postest samt CSS wie das fertige Menü aussehen soll, ich nehme an es gibt so eine Vorlage.

Armin