Zum Inhalt springen

Menüproblem

Erstellt am 17. Dezember 2004 · 9 Antworten · letzte Antwort am 17. Dezember 2004

Tags: Frage

snorri ·

Hej!

Vorweg: Ich bin ziemlich blutiger Angänger in Sachen Typo3. Nach einem Tag Einarbeitung mit dem OpenSourcePress-Buch bin ich jetzt immerhin so weit, dass ich ein existierendes Webdesign in eine funktionierende HTML-Template umgewandelt habe. "Funktionierend" im Sinne von: Es zeigt den Content an.

Nun will man dann ja normalerweise auch ein Navigationsmenü haben. Auch hier habe ich das Beispiel aus dem Buch fast wortwörlich abgetippt, aber es erscheint schlicht NICHTS.

Mein Marker im HTML-Template sieht so aus:

<!-- ###HAUPTMENUE### start -->
<!-- ###HAUPTMENUE### stop -->

Mein TypoScript-Code sieht dann so aus:

  ...
  subparts.HAUPTMENUE = TEXT
  subparts.HAUPTMENUE.value = Bla
  temp.navigation = HMENU
  temp.navigation.entryLevel = 0
  temp.navigation {
    1 = TMENU
    1.NO.allWrap = | &middot;
  }
  subparts.HAUPTMENUE < temp.navigation
  ...

Der Output ist aber nicht das erhoffte Menü, sondern der vorher gesetzte Testwert "Bla". Ich schließe daraus, dass das Erzeugen des Menüs nicht klappt. Aber warum?

Ich wäre für sachdienliche Hinweise äußerst dankbar!

-- snorri

jenses ·

Wenn du das hier :

  subparts.HAUPTMENUE = TEXT
  subparts.HAUPTMENUE.value = Bla

wegläßt sollte es klappen.

jenses

snorri ·

Hej jenses,

leider nein. Sobald ich auch nur die Zeile "subparts.HAUPTMENUE.value = Bla" weglasse, erscheint an der Stelle überhaupt nichts mehr. Wenn ich "subparts.HAUPTMENUE = TEXT" auch noch weglasse, erscheint sogar der Platzhaltertext, der in meiner HTML-Template zwischen Start- und Endmarker steht, d.h. es findet überhaupt keine Ersetzung statt.

-- snorri

mstuebner ·
snorri schrieb

Mein Marker im HTML-Template sieht so aus:

<!-- ###HAUPTMENUE### start -->
<!-- ###HAUPTMENUE### stop -->

Wenn es auch nur eine Kleinigkeit ist, aber was Du Marker nennst sind Subparts, Marker werden anders definiert.

snorri schrieb

Mein TypoScript-Code sieht dann so aus:

  ...
  subparts.HAUPTMENUE = TEXT
  subparts.HAUPTMENUE.value = Bla
  temp.navigation = HMENU
  temp.navigation.entryLevel = 0
  temp.navigation {
    1 = TMENU
    1.NO.allWrap = | &middot;
  }
  subparts.HAUPTMENUE < temp.navigation
  ...

Der Output ist aber nicht das erhoffte Menü, sondern der vorher gesetzte Testwert "Bla". Ich schließe daraus, dass das Erzeugen des Menüs nicht klappt. Aber warum?

Weil Du den Subpart entweder als COA definieren, oder vor der Zuweisung eines neuen Objektes löschen musst.

  subparts.HAUPTMENUE >
  subparts.HAUPTMENUE < temp.navigation
snorri ·

Hej Matthias,

ist "subparts.HAUPTMENUE >" nicht letztlich das gleiche, als hätte ich weiter oben besagte zwei Zeilen gar nicht erst drin stehen?

Das Verhalten ist jedenfalls identisch: Auch wenn ich Deine Zeile einfüge, findet schlich keine Ersetzung statt, d.h. ich sehe den Platzhaltertext aus meinem HTML-Template ...

-- snorri

snorri ·

Kleines Update: Wenn ich das schreibe

  subparts.HAUPTMENUE = TEXT
  subparts.HAUPTMENUE.value = Blubb

dann erscheint am Platz des Hauptmenüs brav das Wort "Blubb". Wenn ich allerdings das hier probiere

  subparts.HAUPTMENUE = TEXT
  subparts.HAUPTMENUE.value = Blubb
  temp.hauptmenue = TEXT
  temp.hauptmenue.value = Fasel
  subparts.HAUPTMENUE < temp.hauptmenue

dann erscheint IMMER NOCH "Blubb". OK, dachte ich mir, einen einmal gesetzten Wer einfach überschreiben gilt wohl nicht, also habe ich das hier probiert:

  temp.hauptmenue = TEXT
  temp.hauptmenue.value = Fasel
  subparts.HAUPTMENUE < temp.hauptmenue

Jetzt aber findet eben überhaupt keine Ersetzung mehr statt! Vielleicht verstehe ich da was falsch, aber eigentlich sollte hier doch subparts.HAUPTMENUE mit dem Inhalt von temp.hauptmenue gefüllt werden, oder?

Anscheinend habe ich also kein Problem mit dem Menü, sondern mit dem Zuweisen des erzeugten Menüs an den betreffenden Subpart ...

-- snorri

jenses ·

Setze mal in die HTML - Vorlage Marker statt der Subparts,
also ###HAUPTMENU### usw., (also nicht auskommentiert !)
im Template ersetzt du dann

marks.HAUPTMENU = HMENU usw.

das klappt auf jeden Fall.
Das mit den Subparts funktioniert nur mit dem Autoparser,
glaub ich.

jenses

snorri ·

Hej jensen,

die Subparts funktionieren definitiv -- sonst würde ja auch das erste Beispiel aus meinem letzen Beitrag nicht laufen; ausserdem wird mir auf die gleiche Weise auch den Content korrekt eingebaut.

Was ich anscheinend aber nicht hinkriege ist, den Inhalt der temp-Variablen an den subpart zu übergeben. Woran kann das liegen? Ich krieg' hier langsam die Krise, das beschäftigt mich jetzt schon einen halben Tag, und der Grund ist garantiert etwas total simples ... 🙁

-- snorri

robert.​meyer ·

Hallo,

  temp.hauptmenue = TEXT 
  temp.hauptmenue.value = Fasel 
  subparts.HAUPTMENUE < temp.hauptmenue

Der Bereich subparts und temp befinden sich voraussichtlich in geschweiften Klammern, daher funktioniert auch die angegebene absolute Kopie nicht. Die Kopie müsste lauten

subparts.HAUPTMENUE < page.10.temp.hauptmenue (Absolute Kopie) oder
subparts.HAUPTMENUE < .temp.hauptmenue (Relative Kopie mit vorangestelltem Punkt.)