Zum Inhalt springen

PIDinRootline funktioniert nicht

Erstellt am 10. Juni 2010 · 7 Antworten · letzte Antwort am 7. Juli 2010

Tags: Frage

dohomi ·

Hallo

ich bekomme eine PIDinRootline Condition für mein Hauptmenü nicht hin: Ich habe ein Plugin mit Typoscript Code befüllt, um per TemplaVoila ein zusätzliches Menü anzuzeigen.

Bei meinem generierten Menü will ich seperat eine Zusatzinfo darstellen, wenn sich der User auf der entsprechenden Rootline befindet. Das HMENU wird problemlos erstellt, jedoch wird immer Sonstiges angezeigt.

Kann mir jemand sagen was ich falsch mache, oder wie ich es anders machen könnte? Vielen Dank!!!

list_one = 1,2,3,4
[PIDinRootline  = {$list_one}]
10 = HTML
10.value = <h1>Information</h1>
[else]
10 = HTML
10.value = <h1>Sonstiges</h1>
[global]
lisardo ·

Hallo,

Conditions dürfen nicht in geschweiften Klammern stehen. Nimm sie aus dem Ausdruck raus.

Also nicht:

temp = COA
temp {
[condition]
10 = TEXT
...
[global]
}

Sondern:

temp = COA
temp {
  5 = TEXT
  5.value = irgendwas
}
[condition]
temp.10 = HTML
temp.value = irgendwas
[global]
temp {
  20 = ... etc. 
}
dohomi ·

Hallo lisardo

ich bin mir nicht ganz sicher, ob ich dich richtig verstehe, aber meine condition steht ganz am Anfang von meinem Typoscript. Es stehen keine geschweiften Klammern herum

lisardo ·

Wenn sie wirklich ganz am Anfang steht, dann stimmt die Syntax nicht.

[PIDinRootline  = {$list_one}]
10 = HTML
10.value = <h1>Information</h1>
[else]
10 = HTML
10.value = <h1>Sonstiges</h1>
[global]

10 - was? Wofür steht die 10? Sowas kommt doch in der Regel in so einem Zusammenhang vor:

lib.irgendwas = COA
lib.irgendwas {
  10 = HTML
  ...
}

Und genau da rein darf keinesfalls eine Condition. Die muss nach diesem Ausdruck stehen, ganz extra und für sich alleine.

dohomi ·

Habe in Handbuch der Extension die ich verwende nachgeschaut. Verwende das plugin typoscript_code um das Menü als generated Content in mein Template einzubauen. Da ist auch der Fehler den ich mache, genau so beschrieben wie ihr gesagt habt:
...Just add this plugin to a page at a place you like and enter some TypoScript code to a text field. Code is considering to be a COA definition, it will be rendered by TYPO3 and inserted to a page.
Deswegen steht auch einfach nur

10 = HTML
usw...

Habt ihr eine Idee, wie ich hier meine Abfrage trotzdem hinbekomme? Vielen Dank für die Antworten!

dohomi ·

Ich glaub ich hab das Pferd vollkommen falsch aufgezogen. Es geht bei meinem Menü im Prinzip nur darum, dass ein aktiver bzw. passiver Zustand im HMENU Objekt innerhalb des TMENUS dargestellt wird. Nicht nur die einzelnen Links, sondern das gewrappte übergeordnete Element. Es soll also innerhalb des TMENU der Zustand von
10.1.wrap = <h3 class="active">Info</h3><ul>|</ul>
geändert werden, je nachdem ob sich die aktuelle Seite in einer von den {$list_one} übergebenen Werten handelt.

10 {
  special = list
  special.value = {$list_one}
  
  1 = TMENU
  1 {
    wrap = <h3 class="active">Info</h3><ul>|</ul>
    NO = 1
    NO.wrapItemAndSub = <li> | </li>
    ACT = 1
    ACT < .NO
    ACT.ATagParams.cObject = COA
    ACT.ATagParams.cObject {
      10 = TEXT
      10.dataWrap = id = "current" 
      20 = TEXT
      20.dataWrap = style="background-image:url({$subnavi})"
    }  
  }
}

Habt ihr eine Idee wie ich das lösen kann? Muss glaube ich mit if arbeiten, jedoch sind alle meine Versuche fehlgeschlagen...

raphs ·

bin leider auch relativ neu im Typo3 geschäft :o

aber ich weiss jetzt nicht ob es was ausmacht, aber schau mal:

Du hast den Normal zustand eingeschaltet

NO = 1

und den aktiv zustand auch

ACT = 1

und dann kopierst den normalzustand noch mal rein,

 ACT < .NO

hmm wie gesagt weiss nicht ob es was ausmacht aber vielleicht hast einmal zu oft eingeschaltet????

#paralyzed#

Mfg raphs