Zum Inhalt springen

HMENU - ein Element anders

Erstellt am 26. Juni 2006 · 4 Antworten · letzte Antwort am 30. Juni 2006

Tags: Frage

kurtzman ·

Hallo,

ich habe ein Menü und hier muss die 2. Seite anders formatiert werden. Das habe ich damals so gelöst:

	# Substitute the ###QUICKLINKS### mark with content:
	marks.MENUE = COA
	marks.MENUE {
		10 = HMENU
		10 {
			1 = TMENU
			1 {
				NO {
					allWrap = <tr><td class="menu">|</td></tr>||<tr><td class="menu2">|</td></tr>|*|<tr><td class="menu">|</td></tr>
				}
			}
			
			2 = TMENU
			2 {
				NO {
					allWrap = <tr><td class="sub">|</td></tr>
				}
			}
		}
	}

Jetzt müsste anhand der Seiten-PID die betreffende Seite anders formatiert werden. D.h. Die Siete mit der PID=111, die jetzt z.B. an 4. Stelle ist müsste mit class="menu2" gewrapt werden. Wie könnte man das machen?

kurtzman ·

ich hätte mittlerweile ein Idee aber es scheitert an der Umsetzung.

Da ich die PID der Seite habe, dessen Button im Menü anders formatiert (gewrappet) werden soll könnte man folgendes machen:

CONDITION:
Wenn PID=123 aktiv (sichtbar) mache

allWrap = <tr><td class="menu">|</td></tr>||<tr><td class="menu2">|</td></tr>|*|<tr><td class="menu">|</td></tr>

wenn nicht aktiv (unsichtbar) mache

allWrap = <tr><td class="menu">|</td></tr>

Die Seite mit der bekannten PID ist immer an 2. Stelle - kann aber ausgeblendet sein. Dann wird dummerweise der eigentlich 3. Platz im Menü formatiert und genau das möchte ich ja nicht.

Wie könnte man obigen Condition schreiben, bzw. wie kann ich abfragen, ob eine Seite aktiv ist oder nicht?

Das ich dann die geschweiften Klammern entfernen muss weiß ich...

just2b ·

Missbrauch von den page properties zB das feld description, schreib da zB special rein

und dann

allWrap = <tr><td class="menu{field:description}">|</td></tr>

so erhältst du bei jeder Seite class="menu" und bei der bestimmten "menuspecial"

ich schreibe grad an einer Extension die ähnliches macht, ist fast fertig, nächste Woche fertig

lg georg

kurtzman ·

das hört sich sehr gut an. das werde ich mal ausprobieren.
die Redakteure dürfen dann natürlich keinen Zugriff auf das Feld Description haben. Das muss ich dann noch prüfen.
theoretisch könnnte man da ja jedes Feld nehmen.

danke!