Zum Inhalt springen

wrappen in if Funktion

Erstellt am 19. Juli 2006 · 9 Antworten · letzte Antwort am 20. Juli 2006

Tags: Frage

MaLe ·

Hallo

Ich habe eine eigenständige, Horizontale Unternavigation in CSS ausgezeichnet. Darunter habe ich eine HTML Linie hineingewrappt.

[...]
              SUBNAVI = HMENU
               SUBNAVI {
                    entryLevel = 3
                    1 = TMENU
                    1.NO = 1
                    1.RO = 1
                    1.CUR = 1
                    1.CUR.ATagParams = class="activepage"
                    1.ACT = 1
                    1.ACT.ATagParams = class="activepage"
                    wrap = |<br /><hr noshade="noshade" width="400" />
               }
[...]

Das ist alles gut und recht, nun möchte ich natürlich das die Linie nicht erscheint wenn keine Unternavipunkt vorhanden ist. Ich habe versucht dies mit if.isTrue zu lösen , der Scriptteil sieht nun so aus:

[...]
              SUBNAVI = HMENU
               SUBNAVI {
                    entryLevel = 3
                    1 = TMENU
                    1.NO = 1
                    1.RO = 1
                    1.CUR = 1
                    1.CUR.ATagParams = class="activepage"
                    1.ACT = 1
                    1.ACT.ATagParams = class="activepage"
                    if.isTrue.wrap = |<br /><hr noshade="noshade" width="400" />
               }
[...]

Leider wird jetzt nicht mehr gewrappt (die Linie erscheint nicht mehr).

Ich weiss nicht was ich falsch mache, mit if.isTrue / if.isFalse kann ich die schaltung erkennen. Habe ich was falsch geschrieben oder habe ich TS überhaupt nicht begriffen?

Kann mir jemand weiterhelfen.

Freundliche Grüsse
MaLe

MaLe ·

Hallo georg

Vielen Dank für die schnelle Antwort.
Ich muss vermutlich noch erklären das die Unternavigation Unabhängig von der Hauptnavigation in einem anderen DIV ist. Die Linie muss im Layer der Unternavigation erscheinen.
Soviel ich weiss kann ich mit dem Zustand IFSUB nur auf Unterseiten der aktuellen Navigationseben anwenden, das heisst das IFSUB in der Hauptnavigation definiert werden muss, das ist aber der falsche DIV für die Linie.
Es muss also überprüft werden ob die Unternavigation selber Menüpunkte (Unterseiten) hat.

MaLe

just2b ·

1.IFSUB ...
=> das wär also falls 1. Ebene subseiten hat, dann kann man was von der 1. Ebene definieren
2.IFSUB => falls es eine 3. Ebene gibt, kann man 2. Ebene anders behandeln

georg

MaLe ·

In diesem Fall ist die "MAINNAVI" mit dem marks in einem anderen DIV an einer anderen Stellen auf der Website als der DIV mit dem marks "SUBNAVI".
Die "SUBNAVI" erscheint nur auf diesen Seiten der 1. Ebene die auch Seiten in der 2. Ebene haben. Es sind also zwei von einander getrennten Navigationen vorhanden.
Bei der "SUBNAVI" (wenn es Seiten hat) ist ein Trennstrich gefordert, wenn es keine Unterseiten hat, also keine Subnavimenüpunkte soll der Trennstrich nicht angezeigt werden.

steffenk ·

m.E. müsste es irgendwie so lauten:

1.ACT.stdWrap.if.isTrue.wrap = |<hr noshade="noshade" width="400" />

Es geht ja um ACT und nicht ums ganze TMENU.

MaLe ·

Doch es geht um das TMENU.
Es muss überprüft werden ob es, nach der aktuellen Seite, noch Unterseiten hat.
Wenn als das TMENU der "SUBNAVI" Menüeintrage hat, also eine Unternavigation bereitstellt, sollte nach der Unternavigation (Horizontal) eine Linie, in diesem Falle mittels <hr.../> ausgegeben werden, hat es keine Menüeintrage in "SUBNAVI" sollte keine Linie ausgegeben werden.

MaLe

MaLe ·

Also die Ausgangslage ist:

[...]
               SUBNAVI = HMENU
               SUBNAVI {
                    entryLevel = 3
                    1 = TMENU
                    1.NO = 1
                    1.RO = 1
                    1.CUR = 1
                    1.CUR.ATagParams = class="activepage"
                    1.ACT = 1
                    1.ACT.ATagParams = class="activepage"
                    wrap = |<hr noshade="noshade" width="400" />
               }
[...]

Somit sieht alles korrekt aus. Nun möchte ich einfach den wrap, Zeile 12, an die Bedingung knüpfen nur wenn es in der "SUBNAVI" im TMENU Menüpunkte hat.

Mit

if.isTrue = 1.NO

und

if.isFalse = 1.NO

kann ich das das Menü ein und ausschalten in bezug ob es eintrage hat.
Wie kommbiniere ich jetzt diese beiden Sachen, oder muss ich anders vorgehen.
Es sollte doch eigentlich möglich sein einen wrap unter diesen Bedingungen ausführen zulassen oder sehe ich das false.

MaLe

MaLe ·

Hallo steffenk

Vielen Dank für deine Hilfe!! Es funktioniert!!!

stdWrap.wrap = |<hr noshade="noshade" width="400" /> habe ich vorher mal ausprobiert, leider bin ich dann nicht darauf gekommen das ich mit stdWrap.required = 1 dann nach Inhalt überprüfen kann.

Das TS fragment sieht jetzt so aus:

[...]
               SUBNAVI = HMENU
               SUBNAVI {
                    entryLevel = 3
                    1 = TMENU
                    1.NO = 1
                    1.RO = 1
                    1.CUR = 1
                    1.CUR.ATagParams = class="activepage"
                    1.ACT = 1
                    1.ACT.ATagParams = class="activepage"
                    stdWrap.wrap = |<br/><hr noshade="noshade" width="400" />
                    stdWrap.required = 1 
               }
[...]

Vielen Dank nochmals und einen schönen Tag.

MaLe