Zum Inhalt springen

Typoscript rendert Menü

Erstellt am 18. Dezember 2011 · 8 Antworten · letzte Antwort am 28. Dezember 2011

Tags: Frage

hmader ·

Liebe Gemeinde,

Bei mir wird ein HMENU/TMENU auf einmal als normaler Text gerändert. Das heißt, aus folgendem TS:

lib.nav2 = HMENU
lib.nav2.entryLevel = 1
lib.nav2.1 = TMENU
lib.nav2.1 {
 wrap = |
 NO.allWrap = | |  |*| | |  |*| |
 ACT = 1
 ACT.allWrap = | |  |*| | |  |*| |
 ACT.linkWrap = |
 }
[treeLevel = 0]
lib.nav2.1.NO.linkWrap = ww|ww
[treeLevel = 1]
lib.nav2.entryLevel = 1
[treeLevel = 2,3]
lib.nav2.entryLevel = 2
[global]

wird folgendes HTML:

<a href="index.php?id=699" onfocus="blurLink(this);" >News Detailansicht</a>

und damit folgende Ausgabe auf der Seite:

<a href="index.php?id=699" onfocus="blurLink(this);" >News Detailansicht</a>

Witzigerweise wird einige Zeilen zuvor ein weiteres HMENU/GMENU vollkommen korrekt gerändert... Woran kann denn das liegen?

Liebe Grüße aus Wien,
Herwig

Chrissli ·

@Julian:
Ich glaube das Problem ist, dass die Sonderzeichen mit den entsprechenden HTML-Entities
ersetzt sind, so das der HTML-Text

<a href="index.php?id=699" onfocus="blurLink(this);" >News Detailansicht</a>

nicht als Link da steht, sondern auf der Seite ausgespuckt wird.

@Herwig:
Ist das alles was du mit deinem Menü machst? Oder folgt dazu später noch code?
Wie fügst du dein Menü in die Seite ein? Vielleicht kannst du hierzu noch 1-2 Snippets
liefern.
Hast du in irgendeinem zugehörigen Wrap "htmlSpecialChars" verwendet?

hmader ·

@Julian: Ja, Chissli hat Recht... Ich bekomm keinen Textlink ausgegeben, sondern den Code als Text 🙂

@Chrissli: Ja, das ist alles, was ich mit dem Menü mache. htmlSpecialCharacter verwende ich in der Tat im Element davor, das wird aber korrekt geschlossen, und wenn ich es auf 0 setze, ändert sich auch nix. Welche Snippets würden dich denn interessieren? Gepostet habe ich eigentlich das gesamte nav2...

lg, Herwig

igorshmigor ·

Vielleicht wird auch an irgendeiner anderen Stelle invalides HTML generiert, so dass xhtml_cleaning dein Menü in Entities umwandelt. Prüf mal auch den Quellcode, der direkt davor und danach generiert wird, ob alle Anführungszeichen und Tags richtig geschlossen werden.

hmader ·

Also, ich hab jetzt probiert, einzelne Elemente davor abzuschalten, hat nix gebracht. Der gesamte HTML-Code der Navigationsleiste ist übrigens dieser:

    <!-- Navigationsleiste -->
        <div class="grid_12 thinborder">
              <div class="grid_9 alpha nav1 sansbold"><a href="index.php?id=696" onfocus="blurLink(this);"  >Testbereich News</a>&nbsp;&#124;&nbsp;<a href="index.php?id=697" onfocus="blurLink(this);"  >Seite 2.0</a></div>
              <div class="grid_3 omega right"><a href="(...)" target="_blank"><img src="(...)" width="16" height="16" alt="Facebook"></a>
<a href="(...)" target="_blank"><img src="(...)" width="16" height="16" alt="Google Plus"></a>
<a href="(...)" target="_blank"><img src="(...)" width="16" height="16" alt="Twitter"></a>
<a href="(...)" target="_blank"><img src="(...)" width="16" height="16" alt="RSS Feed"></a></div>
        </div>
        <div class="grid_12">
              <div class="nav2 sans">
                <ul class="crumbleft"><li id="crumb1"><a href="index.php?id=696"  >Testbereich News</a></li><li id="crumb2"><a href="index.php?id=698"  >Seite 1.1</a></li><li id="crumb3"><a href="index.php?id=699"  >News Detailansicht</a></li></ul>
                   &lt;ul class=&quot;crumbright&quot;&gt;&lt;a href=&quot;index.php?id=699&quot; onfocus=&quot;blurLink(this);&quot;  &gt;News Detailansicht&lt;/a&gt;&lt;/ul&gt;
</div>
        </div>
        <div class="clear"></div>
igorshmigor ·

Was mir auffällt, ist dass das <li>-Tag fehlt. Wenn das Menü als unsortierte Liste definiert ist, dann sollten die einzelnen Menüpunkte auch als Listenelemente definiert sein und mit <li>|</li> gewrappt werden.
Wie gesagt, vermute ich, dass xhtml_cleaning verwendet wird. Hast Du mal geschaut, ob Dein Problem noch besteht, wenn Du in das TypoScript-Setup config.xhtml_cleaning> schreibst?

hmader ·

Hallo Igor,
Das fehlende <li>-Tag ist nur ein Flüchtigkeitsfehler, weil ich ja noch am testen bin. Ich hab's ausgebessert, das hat aber leider auch nix geändert.
Genauso wenig wie config.xhtml_cleaning > ebenfalls nichts geändert hat ;/ Ich muss also weiter suchen...
Liebe Grüße aus Wien,
Herwig

hmader ·

Also, der Ansatz war der Richtige... Allerdings war die Stelle die Falsche - die Special Characters wurden nicht im Template (de-)aktiviert, sondern beim Templavoila Mapping. Warum auch immer. Händisch geändert, jetzt geht alles. Danke für Eure Hilfe!