Zum Inhalt springen

dropdown_menu_list - fehelerhafter <a>-TAG

Erstellt am 9. Oktober 2013 · 2 Antworten · letzte Antwort am 11. Oktober 2013

Tags: URLs & Routing, TYPO3 4.x, Frage

MarkJP ·

Hallo zusammen,

ich hab die Extension dropdown_list_menu für mich entdeckt, da sie genau das bietet, das ich suchte.

Sie generiert jedoch wohl einen fehlerhaften HTML-Code.
ICH kann allerdings keinen Fehler entdecken

<form name="dropDownListMenu407" style="margin:0;">
<select name="selector99" class="" onChange="document.location=document.dropDownListMenu407.selector99.value">
<option value="<a href="/" >"> Home</option>
<option value="<a href="topitems/contact/" >"> contact</option>
<option value="<a href="topitems/login/" >"> LogIn</option>
<option value="<a href="topitems/register/" >"> register</option>
...
<option value="<a href="topitems/logout/" >"> Logout</option>
</select></form>

Ich vermute eine Unverträglichkeit in der Kombination von Leerzeichen, Brackets und Anführungszeichen /" >"> die Reihenfolge ist wohl richtig, aber kann mir jemand etwas zu den Leerzeichen sagen?

Der resultierende Fehler lautet:

Segment "<a href=" was not a keyword for a postVarSet as expected on page with id=14.

weil die folgende URL aufgerufen werden will:

"http://www.mypage.de/<a href=/" istatt richtiger weise "http://www.mypage.de/topitems/contact".

Habt ihr eine Alternative (außer JSMENU)?

Gruß,
Mark

Do you have any idea, what could be wrong with my configuration as I assume the extension works fine, generally.

karlchen ·

diese Sachen kann man auch relativ einfach mit TypoScript umsetzen.

Ein Beispiel aus dem TYPO3 Kochbuch[1]

temp.jsmenu = COA
temp.jsmenu {
   10 = HMENU
   10 {
      entryLevel = 0
      wrap = <form id ="level1" action="/index.php" method="get" enctype="multipart/formdata">|</form>
      1 = TMENU
      1 {
         wrap = <select name="id" onChange="submit();">|</select>
         NO = 1
         NO {
            doNotLinkIt = 1
            stdWrap.cObject = COA
            stdWrap.cObject {
               10 = TEXT
               10.data = leveltitle:0
               10.dataWrap = <option value="{leveluid:0}">---|---</option>
               10.if.value = 2
               10.if.isLessThan.data = register:count_HMENU_MENUOBJ
               20 = TEXT
               20.value = <option value="
               30 = TEXT
               30.dataWrap = {field:uid}">
               40 = TEXT
               40.field = nav_title // title
               50 = TEXT
               50.value = </option>
            }
         }
         ACT < .NO
         ACT {
            stdWrap.cObject {
               10.dataWrap = <option value="{leveluid:0}" selected="selected">---|---</option>
               30.dataWrap = {field:uid}" selected="selected">
            }
         }
      }
   }
}

page = PAGE
page.10 < temp.jsmenu

[1]
http://books.google.de/books?id=xayL0Ckq60kC&pg=PT556&lpg=PT556#v=onepage&q&f=false

bzw:
_http://www.amazon.de/TYPO3-Kochbuch-Aktuell-4-2-CD-ROM/dp/3897218518/ref=sr_1_1/277-2416382-4018424?s=books&ie=UTF8&qid=1381429641&sr=1-1&keywords=3897218518

MarkJP ·

Cool.
Danke, Karlchen.

Jetzt sind wir dann aber doch bei JSMENU gelandet. Aber gar nicht schlecht, denn dann kann man es auch individueller anpassen.

Fertige Extensions machen es dem Anfänger vermeintlich einfacher, aber andererseits versteht man mit dem tatsächlichen Code doch besser, was passiert.

Das Kochbuch ist ein guter Tipp.

Gruß