Zum Inhalt springen

Untertemplate richtig integrieren

Erstellt am 18. Juli 2006 · 2 Antworten · letzte Antwort am 18. Juli 2006

Tags: Frage

Uprooter ·

Hallo,
ich habe für meine Seite ein rootlevel-Template erstellt und möchte nun auf einer einzigen Seite(die zB 5 Unterseiten besitzt) den Inhalt dieser Unterseiten ausgeben. Die jeweilige Unterseite möchte ich per Dropdown-Menu auswählen können, so dass der Inhalt der Untereite geladen wird, das Dropdown-Menü aber bleibt. Kann ich das mittels TS überhaupt realisieren oder muss da n eigenes PHP-Skript her? Wenn es mit TS geht wie könnte man es richtig anstellen?
Ich habe mir überlegt ein Extension-Template zu erstellen, welches, dann die gewünschte Funktionalität bieten soll(wie weiss ich noch nicht^^), aber wie binde ich das "Untertemplate" richtig ein, damit es in meinem Contentbereich ausgegeben wird und das Haupttemplate nicht überlagert?

Danke im voraus!

jochen ·

Hi Uprooter,

wenn ich Dich richtig verstanden habe, dann sollte dieser TypoScript-Schnipsel das erledigen:

### 'temp.dropdown_navi' wird nur gesetzt, wenn man sich auf oder unterhalb der Seite mit ID 123 befindet.
[PIDinRootline = 123]
temp.dropdown_navi = COA
temp.dropdown_navi {
  10 = HMENU
  10 {
    special = directory
### '123' ist die ID der Page, deren Unterseiten im Dropdown gelistet werden
    special.value = 123
    wrap = <div><select name="dropdown_navi" size="1" onchange="document.location.href='index.php?id=' + this.value"> | </select></div>

    1 = TMENU
    1 {
      expAll = 1
      noBlur = 1
      NO {
### 'value' ist ID der gelisteten Seite
        stdWrap.dataWrap = <option value="{field:uid}">
        allWrap = | </option>
        doNotLinkIt = 1
      }
      CUR = 1
      CUR {
### wenn aktuelle Seite (CUR), dann als 'selected' markieren
        stdWrap.dataWrap = <option value="{field:uid}" selected="selected">
        allWrap = | </option>
        doNotLinkIt = 1
      }
    }
  }
}
[global]

Es wird eine Dropdown-Box erstellt, die alle Unterseiten einer bestimmten Seite listet. Wählt man eine Seite aus, gelangt man (per JavaScript onChange-Event) dort hin. Die aktuelle Seite wird immer in der Dropdown-Box als 'selected' angezeigt.

Grüße
Jochen