Zum Inhalt springen

Menu mit RealURL-Link

Erstellt am 24. März 2009 · 2 Antworten · letzte Antwort am 30. März 2009

Tags: Frage

Unbekannter Benutzer ·

Hallo zusammen
Ich möchte eine bestehende Webseite auf RealURL umstellen. Die RealURL-Konfiguration klappt soweit einwandfrei. Habe nun aber ein Problem bei meiner JS-Navigation, welche ich mir per manuell TScript zusammenstelle. Ich kriege den RealURL-Namen einer Seite nicht raus.

Was ich möchte, ist den Link ohne A-Tag haben. Also anstatt:
<a href="seite-test.html">Seite Test</a>
brauche ich:
seite-test.html

Das ist auszugsweise die jetzige funktionierende Lösung (ohne RealURL):

10=HTML
10.value = index.php?id=
20=TEXT
20.field = uid

Ergibt index.php?id=uid

Wie mache ich dies aber mit Real-URL? Es gibt ja kein Feld à la uid, wo ich dies auslesen kann. Und meines Wissens auch keinen Befehl (etwa so wie onlyLink = 1) was mir nur den Link ausspuckt. Der Link wird ja immer mit dem A-Tag umklammert.

Danke für die Unterstützung!

danton · · Beste Antwort

Hi
Das Problem was ich bei Deinem jetzigen Codesnipped sehe ist das Du die URL statisch zusammen baust und das ist falsch.
Kannst Du hier mal den kompletten TS-Code zeigen?
Gruß Danton

Unbekannter Benutzer ·

Hallo Danton

Sorry...hätte den ganzen TS-Code reinschreiben sollen. Dann wär's auch ersichtlich gewesen, dass es nicht statisch ist (sonst hätte es ohne RealURL ja auch nicht funktioniert).

Unterdessen habe ich des Rätsels-Lösung gefunden. Der Weg führte über das typolink-Objekt.

Nun zur Lösung. Meine Navigation hatte beispielhaft folgenden Aufbau:
- Oberseite
-- Unterseite 1
-- Unterseite 2
-- Unterseite 3

Somit war für meine JS-Navigation folgender Javascript-Code (auszugsweise) das Ziel:

var jsmenu2 = ms.addMenu(document.getElementById("jsmenu2"));
jsmenu2.addItem("Unterseite 1", "/oberseite/unterseite-1.html","0");
jsmenu2.addItem("Unterseite 2", "/oberseite/unterseite-2.html","0");
jsmenu2.addItem("Unterseite 3", "/oberseite/unterseite-3.html","0");

Und so habe habe ich dies in meinem TS-Code hingekriegt:

marks.MENU_CONTENT1 = HMENU
marks.MENU_CONTENT1 {
  entryLevel = 1
  1 = TMENU
  1 {
    noBlur = 1
    expAll = 1
    NO = 1
    NO.doNotShowLink = 1
    IFSUB = 1
    IFSUB.doNotShowLink = 1
    IFSUB {
      allWrap = var jsmenu{elementUid} = ms.addMenu(document.getElementById("jsmenu{elementUid}"));| 
      subst_elementUid = 1
    }
  }
  2=TMENU
  2 {
    NO = 1
    NO {
      before.cObject = COA
      before.cObject {
        10=HTML
        10.value = jsmenu
        20=TEXT
        20.field = pid
        30=HTML
        30.value = .addItem("
      }
      after {
        typolink.parameter.data = field:uid // TSFE:id
        typolink.returnLast = url
        wrap = ", "/|","0");
      }
      subst_elementUid = 1
      doNotLinkIt = 1
    }
  }
}

Der entscheidende Teil meines TypoScripts ist somit zwischen Zeile 30 und 34, wo ich den Link manuell zusammensetze.

Danke & Gruss