TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

Menü mit tt_news Unterkategorien


Autor Nachricht
Verfasst am: 16. 02. 2012 [18:16]
Wichteldesign
Themenersteller
Dabei seit: 09.02.2012
Beiträge: 4
Hi,

ich kämpfe gerade mal wieder mit Typoscript. Ich möchte ein Menü erzeugen, dass mir alle Unterkategorien meiner aktuellen tt_news Kategorie anzeigt. Dafür lese ich den get-Parameter für die Kategorie aus. Klappt auch soweit. Nur wenn kein Parameter gesetzt ist, funktioniert das nicht. Wie könnte ich hier einen Fallback einbauen, dass ein Wert gesetzt wird sobald kein Parameter vorhanden ist?

TYPOSCRIPT
# Subcategories im Hauptfenster
 
lib.premain = COA
lib.premain{ 
  # hole alle Unterkategorien
  5 = CONTENT
  5 {
    # wrappe die gesamte Liste als "unsortierte Liste"
    wrap = <ul class="news-catmenu">|</ul>
    table = tt_news_cat
    select {
      # hier muss die pid eures News-Sysordners rein, bzw. wo die News-Kategorien gespeichert sind
      pidInList = 82
      orderBy = title
 
      # Zeige ab erster ebene
      andWhere = parent_category =
      andWhere.append = TEXT
      andWhere.append.value = {GPvar:tx_ttnews|cat}
      andWhere.append.insertData = 1  
 
      # Hier muss ein Fallback her das die parent_category auf eine defaultwert gesetzt wird
 
    }
    renderObj = COA
    renderObj {
      # wrappe jede gefundene Unterkategorien als Listenelement
      wrap = <li>|</li>
      # zeig mir den Kategorie-Titel und mache einen Link daraus zur Kategorie-Detail-Uebersicht
      10 = TEXT
      10 {
        # das title-Feld soll als Text angezeigt werden (koennte man auch description... verwenden)
        field = title
        typolink {
          # verlinke zu der Seite mit der News-Auflistung (Listenansicht)
          parameter = 18
          title.field = title
          # fuege den GET-Parameter fuer die ausgewaehlte Kategorie hinzu
          additionalParams.dataWrap = &tx_ttnews[cat]={field:uid}
          # cHash mit uebergeben fuers Caching - Danke an ScubaBen fuer den Hinweis!
          useCacheHash = 1
        }
      }
    }
  }
}


Ein weiteres Interessantes Phänomen ist, dass sobald ich den hash entferne, ich gar kein Ergebniss mehr bekomme.

Gibt es vielleicht eine leichtere Möglichkeit mein Problem zu lösen als mein aktueller Ansatz?

Danke und Gruß
Felix
ProfilWWW
Verfasst am: 17. 02. 2012 [11:35]
Wichteldesign
Themenersteller
Dabei seit: 09.02.2012
Beiträge: 4
Damit klappts

TYPOSCRIPT
# Subcategories im Hauptfenster
 
lib.premain = COA
lib.premain{  
  # hole alle Unterkategorien
  5 = CONTENT
  5 {
    # wrappe die gesamte Liste als "unsortierte Liste"
    stdWrap.required = 1    
    stdWrap.wrap = <ul class="news-catmenu">|</ul>
    table = tt_news_cat
    select {
      # hier muss die pid eures News-Sysordners rein, bzw. wo die News-Kategorien gespeichert sind
      pidInList = 82
      orderBy = title
      # Zeige ab erster ebene
 
      andWhere.cObject = COA
      andWhere.cObject {
        wrap = parent_category = |
        10 = TEXT
        10{
          if.isFalse.data = GPvar:tx_ttnews|cat
          value = 4
        }
        20 = TEXT
        20{
          if.isTrue.data = GPvar:tx_ttnews|cat
          data = GPvar:tx_ttnews|cat
          prioriCalc = int
        }  
      }
    }
    renderObj = COA
    renderObj {
      required = 1
      # wrappe jede gefundene Unterkategorien als Listenelement
      wrap = <li>|</li>
      # zeig mir den Kategorie-Titel und mache einen Link daraus zur Kategorie-Detail-Uebersicht
      10 = TEXT
      10 {
        # das title-Feld soll als Text angezeigt werden (koennte man auch description... verwenden)
        field = title
        typolink {
          # verlinke zu der Seite mit der News-Auflistung (Listenansicht)
          parameter = 18
          title.field = title
          # fuege den GET-Parameter fuer die ausgewaehlte Kategorie hinzu
          additionalParams.dataWrap = &tx_ttnews[cat]={field:uid}
          # cHash mit uebergeben fuers Caching - Danke an ScubaBen fuer den Hinweis!
          useCacheHash = 1
        }
      }
    }
  }
}
ProfilWWW