Zum Inhalt springen

Marker Seitenabhängig setzen

Erstellt am 20. April 2012 · 4 Antworten · letzte Antwort am 23. April 2012

Tags: Templates & Layouts, Frage

Philipp88 ·

Hallo,

ich habe in meiner Webseite eine Unterseite wo separat ein extra Menü erscheinen soll. Dazu verwende ich im Template die Condition PIDinRootline = 12. Leider wird der Inhalt des Markers auf jeder Seite angezeigt🙁

Ein Ausschnitt aus mein Typoscript:

page.10.marks {

TOPNAVI = HMENU
TOPNAVI {
special = directory
special.value = 43
1 = TMENU
1{       
    wrap = <div id="menu" class="layout">|</div>
    noBlur =1
    ACT = 1
    NO{
      wrapItemAndSub = <span> | </span>
    }
    
    ACT{
      wrapItemAndSub = <span class="TopMenuActive">|</span>
    }
  }
}

  
...  

  
MAIN < styles.content.get

[PIDinRootline = 12]
  
GALLERY = HMENU
GALLERY {
    special = directory
    special.value = 12
  
    1 = TMENU
    1{       
    wrap = <div class="layout" id="subnavi">|</div>
    noBlur =1
    ACT = 1
    NO{
      wrapItemAndSub = <span class="subnavi"> | </span>
      ATagParams = class="menuLink2"
    }
    
    ACT{
      wrapItemAndSub = <span class="subnavi">|</span>
      ATagParams = id="subnavi_active"
    }
  }
 }
[GLOBAL]
}

Kann mir einer helfen? Wenn ich mein Condition- Block über den Marker MAIN setze, wird die Navigation der Gallery dennoch überall angezeigt aber der Inhalt von MAIN bleibt auf jeder Seite leer#angry#

Philipp88

rivka ·

Du darfst deine Bedingung nicht innerhalb der geschweiften Klammern machen.

Sollte so sein

page.10.marks {
 
   TOPNAVI = HMENU
   TOPNAVI {
      special = directory
   .
   .
   .
   }
   
   MAIN < styles.content.get
   .
   .
   .
}

und dann erst

[PIDinRootline = 12]
page.10.marks { 
   GALLERY = HMENU
   GALLERY {
      special = directory
      .
      .
      .
   }
}
[GLOBAL]
Philipp88 ·

Danke werde ich mal probieren. Aber bei der Bedingung wird nur das Menü angezeigt wenn die Id=12 ist und nicht bei dessen Unterseiten oder? Ich könnte ja notfalls die Bedingung mit oder machen, aber das wäre sehr umständlich und man müsste immer das Template neu anpassen wenn ein neuer Punkt hinzukommt. Gibt es eine Condition die dessen Unterseiten von der id=12 mit einschließt?

Chrissli ·

Hallo Philipp,

[PIDinRootline = 12]

trifft für alle Seiten zu, die sich im Seitenbaum unterhalb der Seite mit der ID 12 befinden ( einschließlich der ID 12).
Beispiel:
ID 1 (trifft nicht zu)
- ID 2 (trifft nicht zu)
- ID 3 - 11 (trifft nicht zu)
ID 12 (trifft zu)
- ID 13 (trifft zu)
- ID 14 (trifft zu)
- - ID 15 (trifft zu)
- - ID 16 (trifft zu)
- - ID 17 (trifft zu)
- - - ID 18 - 33 (trifft zu)
ID 34 (trifft nicht zu)

Wenn du nur die Seite mit der ID 12 haben willst kannst du mit globalVar arbeiten;

[globalVar = TSFE:id = 12]