Zum Inhalt springen

sys_category aus übergeordneter Seite

Erstellt am 29. Mai 2015 · 3 Antworten · letzte Antwort am 31. März 2016

Tags: Kategorien, TYPO3 6.x, Frage

spL ·

Moin moin,

ich dreh mich im Kreis und verzWeifel an dieser vermeindlich leichten Aufgabe:
Ich möchte die Kategorie einer bestimmten Seite (Fix angegeben via ID) auslesen.
Wenn diese Seite keiner Kategorie zugewiesen ist so soll die Kategorie der übergeordneten Seite ausgegeben werden.
Das ganze klappt jedoch bisher nur wenn ich nicht von einer fest definierten Seite ausgehe sondern dynamisch via "uidInList = this". Ich muss die Seite jedoch fest definieren.

Ansatz

# Kategorien einer Seite ausgeben
  15 = COA
  15{
    wrap = <h1>CAT=|</h1>

    # Kategorie der aktuellen Seite ausgeben
    10 = CONTENT
    10 {
      table = pages
      select {
        # Funktioniert so lange die Seite mit der ID 212 einer Kategorie zugewiesen ist
        uidInList = 212
        pidInList = 0
        selectFields = sys_category.title
        join = sys_category_record_mm ON pages.uid = sys_category_record_mm.uid_foreign JOIN sys_category ON sys_category.uid = sys_category_record_mm.uid_local
        where = sys_category_record_mm.tablenames = 'pages'
        orderBy = sys_category.sorting
      }       
      # Titel ausgeben
      renderObj = TEXT
      renderObj {
        field = title
        wrap = |
      }
    }

    # Wenn keine Kategorie vergeben ist die der übergeordneten Seite verwenden
    10.stdWrap.ifEmpty.cObject = CONTENT
    10.stdWrap.ifEmpty.cObject{
      table = pages
      select {
        #funktioniert nur in Kombinatuion mit "uidInList = this"
        uidInList.data = leveluid:-2, slide

        pidInList = 0
        selectFields = sys_category.title
        join = sys_category_record_mm ON pages.uid = sys_category_record_mm.uid_foreign JOIN sys_category ON sys_category.uid = sys_category_record_mm.uid_local
        where = sys_category_record_mm.tablenames = 'pages'
        orderBy = sys_category.sorting
      }       

      # Titel ausgeben
      renderObj = TEXT
      renderObj {
        field = title
        wrap = |
      }
    }
  }

Gibt es eine Alternative oder einen Weg wie ich beispielsweise "uidInList.data = ID_MEINER_SEITE:-2, slide" bewerkstelligen kann?

Bin für jeden Hinweis dankbar!

spL ·

Vielleicht hätte ich ein nicht all zu großes Fass aufmachen sollen.

Kurz gesagt geht es darum von einer bestimmten Seite ein Feld auszulesen.
So dieses Feld nicht gesetzt ist soll das der übergeordneten Seite ausgegeben werden.