Zum Inhalt springen

ACT für Elternelemente

Erstellt am 10. Oktober 2008 · 12 Antworten · letzte Antwort am 15. Oktober 2008

Tags: Frage

ruschnet ·

Hallo Forum,

ich suche nach einer Lösung um die Eltern Elemente nur jeweils eine Ebene höher hervorzuheben.

Beispiel 1:
Ebene 2 aktuell

| Punkt 1.1
| Punkt 1.2
|-- Punkt 2.1 (aktuell)
|- Punkt 2.2
| Punkt 1.3

In diesem Fall will ich Punkt 1.2 und Punkt 2.1 hervorheben.

Beispiel 2:
Ebene 3 aktuell

| Punkt 1.1
| Punkt 1.2
|- Punkt 2.1
|-++ Punkt 3.1 (aktuell)
|-+ Punkt 3.2
|- Punkt 2.2
| Punkt 1.3

In diesem Fall will ich Punkt 2.1 und Punkt 3.1 hervorheben, Punkt 1.2 soll aber nicht hervorgehoben sein.

Hoffe das ist verständlich.

Hier mein bisheriges TS

		1 = TMENU
		1 {
			noBlur = 1
			wrap = |
			NO = 1
			NO.ATagTitle.field = abstract // description // subtitle
			NO.allWrap = |<span class="hidden">.</span>
			NO.wrapItemAndSub = <li>|</li>
			NO.stdWrap.htmlSpecialChars = 1
			NO.linkWrap = {$mainMenuLinkWrap}
			NO.ATagBeforeWrap = 1
			CUR < .NO
			CUR = 1
			CUR.allWrap = <strong>|</strong><span class="hidden">.</span>
			CUR.wrapItemAndSub = <li>|</li>
			CUR.doNotLinkIt = 1
			CUR.stdWrap.htmlSpecialChars = 1
			CUR.ATagBeforeWrap = 1
			IFSUB = 1
			IFSUB < .NO
			IFSUB.linkWrap = {$mainMenuIfsubLinkWrap}
			IFSUB.allWrap = |
			CURIFSUB < .NO
			CURIFSUB = 1
			CURIFSUB.allWrap = <strong>|</strong><span class="hidden">.</span>
			# um die cur Zustände zu setzen
			CURIFSUB.wrapItemAndSub = <li class="cur">|</li>
			CURIFSUB.doNotLinkIt = 1
			CURIFSUB.stdWrap.htmlSpecialChars = 1
			ACT < .NO
			ACT = 1
			ACT.allWrap = <strong>|</strong><span class="hidden">.</span>
			# um die cur Zustände zu setzen
			ACT.wrapItemAndSub = <li class="cur">|</li>
			ACT.doNotLinkIt = 1
			ACT.stdWrap.htmlSpecialChars = 1
		}
		2 < .1
		2.wrap = <ul>|</ul>
		3 < .1
		3 {
			wrap = <ul>|</ul>
			# um die cur Zustände zurückzusetzen
			CURIFSUB.wrapItemAndSub = <li>|</li>
			ACT.wrapItemAndSub = <li>|</li>
		}

Wäre cool wenn mir jemand helfen könnte.
Bekomme das irgendwie nicht hin mit der Kombination der verschiedenen Elemente. (NO, CUR, ACT, IFSUB, CURIFSUB, ACTIFSUB)

grüsse,
jo

ruschnet ·

Danke für die schnelle Antwort!

ACTIFSUB hatte ich auch schon ausprobiert.
Hat nicht funktioniert.
Aber vielleicht habe ichs ja auch falsch eingesetzt...

Kannst Du mir vielleicht an meinem Code Beispiel zeigen wo ichs einsetzen sollte und wo nicht...

jo

ruschnet ·

Hallo Georg,

ich hab jetzt nochmal ein bißchen rumgetestet.

Wenn ich auf allen Ebenen (3) ACTIFSUB anwende, dann komme ich nicht dahin wo ich hin will.

Wie kann ich das denn anwenden um das zu erreichen was ich will?
Wäre cool wenn Du helfen könntest..

jo

Dander ·

hm, du könntest es so in der art versuchen

ACTIFSUB.if.isTrue.numRows{
        table=pages
     
	select {
       		pidInList.data = field:uid
       		where = doktype < 3
                where = nav_hide!=1 AND doktype!=5 AND doktype!=6
        	} 


        }

und das bei jeder ebene

ruschnet ·

Ja, so ähnlich hab ichs dann auch gemacht..

Ein bißchen schmutziger auf die schnelle...

[treeLevel = 3,4,5,6,7,8,9]
lib.submenu.10.30.1.ACT = 1
lib.submenu.10.30.1.ACTIFSUB = 0
[global]

und dann über die beiden Zustände unterschieden.

hier nochmal der gesamte code für alle...

lib.submenu.10 {
	wrap = <ul id="submenu">|</ul>
	30 = HMENU
	30 {
		1 = TMENU
		1 {
			expAll = {$subMenuExpandToggle}
			noBlur = 1
			wrap = |
			IProcFunc = user_IProc_dfn
			NO = 1
			NO.ATagTitle.field = abstract // description // subtitle
			NO.allWrap = |<span class="hidden">.</span>
			NO.wrapItemAndSub = <li>|</li>
			NO.stdWrap.htmlSpecialChars = 1
			NO.linkWrap = {$mainMenuLinkWrap}
			NO.ATagBeforeWrap = 1
			CUR < .NO
			CUR = 1
			CUR.allWrap = <strong>|</strong><span class="hidden">.</span>
			CUR.wrapItemAndSub = <li>|</li>
			CUR.doNotLinkIt = 1
			IFSUB = 1
			IFSUB < .NO
			IFSUB.linkWrap = {$mainMenuIfsubLinkWrap}
			IFSUB.allWrap = |
			CURIFSUB < .NO
			CURIFSUB = 1
			CURIFSUB.allWrap = <strong>|</strong><span class="hidden">.</span>
			CURIFSUB.wrapItemAndSub = <li class="cur">|</li>
			CURIFSUB.doNotLinkIt = 1
			ACT < .NO
			ACT = 0
			ACT.allWrap = |<span class="hidden">.</span>
			ACT.wrapItemAndSub = <li class="cur">|</li>
			ACT.doNotLinkIt = 0
			ACTIFSUB < .NO
			ACTIFSUB = 1
			ACTIFSUB.allWrap = <strong>|</strong><span class="hidden">.</span>
			ACTIFSUB.wrapItemAndSub = <li class="cur">|</li>
			ACTIFSUB.doNotLinkIt = 1
		}
		2 < .1
		2.wrap = <ul>|</ul>
		2 {
			ACT < .NO
			ACT = 1
			ACT.allWrap = <strong>|</strong><span class="hidden">.</span>
			ACT.wrapItemAndSub = <li class="cur">|</li>
			ACT.doNotLinkIt = 1
			ACTIFSUB = 0
		}
		3 < .1
		3.wrap = <ul>|</ul>
		3 {
		CURIFSUB = 0
		CURIFSUB.wrapItemAndSub = <li>|</li>
		ACT.wrapItemAndSub = <li>|</li>
		ACTIFSUB < .NO
		ACTIFSUB = 1
		ACTIFSUB.allWrap = <strong>|</strong><span class="hidden">.</span>
		ACTIFSUB.wrapItemAndSub = <li>|</li>
		ACTIFSUB.doNotLinkIt = 1
		}
	}
}

[treeLevel = 3,4,5,6,7,8,9]
lib.submenu.10.30.1.ACT = 1
lib.submenu.10.30.1.ACTIFSUB = 0
[global]

vielleichts hilfts ja jemandem.

gruss, jo

Dander ·

schade, jetzt hätte es mich interessiet, ob das was ich da
geschrieben habe wirklich funktioniert, je mehr ich darüber nachdenke
dest so mehr glaube ich, dass das nicht funktioniert.
Naja bei Zeit mal selber versuchen 😉

ruschnet ·

eben, Zeit war die Mangel Ware.

daher schmutzig und schnell...

aber vielleicht wenn ich mal wieder Zeit hab, dann probier ichs auch mal.
würde mich auch interessieren.

d.​walter ·

Hallo ruschnet,

wenn ich dich richtig verstehe, dann willst du folgendes:

root
-1.Ebene
--2.Ebene
---3.Ebene

Wenn du dich auf der dritten Ebene befindest, dann möchtest du, dass die zweite Ebene ein ACTIFSUB Status bekommt.

Wenn das so richtig ist, dann bauch doch auch nur bei 2 ein ACTIFSUB ein!!!

Also ungefähr so:

lib.submenu.10 {
        wrap = <ul id="submenu">|</ul>
        30 = HMENU
        30 {
                1 = TMENU
                1 {
                        expAll = {$subMenuExpandToggle}
                        noBlur = 1
                        wrap = |
                        IProcFunc = user_IProc_dfn
                        NO = 1
                        NO.ATagTitle.field = abstract // description // subtitle
                        NO.allWrap = |<span class="hidden">.</span>
                        NO.wrapItemAndSub = <li>|</li>
                        NO.stdWrap.htmlSpecialChars = 1
                        NO.linkWrap = {$mainMenuLinkWrap}
                        NO.ATagBeforeWrap = 1
                        CUR < .NO
                        CUR = 1
                        CUR.allWrap = <strong>|</strong><span class="hidden">.</span>
                        CUR.wrapItemAndSub = <li>|</li>
                        CUR.doNotLinkIt = 1
                        IFSUB = 1
                        IFSUB < .NO
                        IFSUB.linkWrap = {$mainMenuIfsubLinkWrap}
                        IFSUB.allWrap = |
                        CURIFSUB < .NO
                        CURIFSUB = 1
                        CURIFSUB.allWrap = <strong>|</strong><span class="hidden">.</span>
                        CURIFSUB.wrapItemAndSub = <li class="cur">|</li>
                        CURIFSUB.doNotLinkIt = 1
                        ACT < .NO
                        ACT = 0
                        ACT.allWrap = |<span class="hidden">.</span>
                        ACT.wrapItemAndSub = <li class="cur">|</li>
                        ACT.doNotLinkIt = 0
                        }
                2 < .1
                2.wrap = <ul>|</ul>
                2 {
                        ACT < .NO
                        ACT = 1
                        ACT.allWrap = <strong>|</strong><span class="hidden">.</span>
                        ACT.wrapItemAndSub = <li class="cur">|</li>
                        ACT.doNotLinkIt = 1
                         ACTIFSUB < .NO
                ACTIFSUB = 1
                ACTIFSUB.allWrap = <strong>|</strong><span class="hidden">.</span>
                ACTIFSUB.wrapItemAndSub = <li>|</li>
                ACTIFSUB.doNotLinkIt = 1
                }
                3 < .1
                3.wrap = <ul>|</ul>
                3 {
                CURIFSUB = 0
                CURIFSUB.wrapItemAndSub = <li>|</li>
                ACT.wrapItemAndSub = <li>|</li>
               }
        }
}
ruschnet ·

Hallo d.walter,

naja, das wäre ja nicht so schwer gewesen...

Ich wollte, dass wenn ich in der dritten Ebene bin nicht nur die 2. Ebene ACTIFSUB ist, sondern auch die 1. Ebene eine Änderung vornimmt...

Das geht halt nur, soweit ich jetzt weiß, über eine Condition.
Oder liege ich da falsch..

Schau mal den Link an.. dann verstehst Du was ich meine.
http://typo3.mikrooek.de

Dann Unter "Für Ärzte...", dann unter "Unsere Diagnostik", und wenn Du dann diese Punkte (3. Ebene) anklickst... Dann geht der Status von "Für Ärzte..." zurück auf normal. Das war, was ich wollte...

Bin glaub ich ziemlich umständlich dahin gekommen. aber.. es funktioniert.

gruss, jo

d.​walter ·

Hmm, also etwa so was

-1. Ebenen (actifsub 2.ebene - Blau)
--2. Ebene aktiv

und

-1. Ebene (actifsub 3.ebene - Rot)
--2. Ebene (actifsub -Blau)
---3. Ebene aktiv

Das wirst du wahrscheinlich wirklich nur über eine userfunc. oder eine Condition lösen können. Ich glaube nicht, dass anders gehen wird!

Daniel