Zum Inhalt springen

Seitenteaser via Select und join

Erstellt am 20. Mai 2011 · 1 Antwort · letzte Antwort am 20. Mai 2011

Tags: Datenbank, Frage

Chrissli ·

Hallo Miteinander,

ich habe einen Seitenaufbau nach folgendem Prinzip:

Home
-Artikel ( Ordner )
-- Artikel 1
-- Artikel 2

Nun möchte ich auf der Homeseite die Artikel anteasern
und die Titel und Untertitel der Artikel auf die
Artikelseiten verlinken.

Die Artikelseiten sind wie folgt aufgebaut:

Seitentitel = Überschrift des Artikel
Untertitel = Untertitle des Artikel
Spalte "links" ( colPos 1 ) enthält den Teasertext
die Restlichen Spalten werden im Detailtemplate das im "Artikel"-Ordner
hinterlegt ist verwendet.

Mein Ansatz sieht so aus:

temp.content0 = CONTENT
temp.content0 {  
  table = tt_content
  select {    
    join = pages ON (tt_content.pid = pages.uid)
    pidInList.cObject = HMENU
    pidInList.cObject {
      special= directory
      special.value = 5
      1 = TMENU
      1 {
        expAll = 1
        NO {
          doNotLinkIt = 1
          stdWrap.field = uid
          stdWrap.wrap = | |*|  ,| |*|
        }
      }
    }
    where = colPos = 1
    andWhere = pages.pid = 5    
    languageField = sys_language_uid
    renderObj < tt_content
    renderObj = COA
    renderObj {
      10 = TEXT
      10.field = title
      10.wrap = <h1>|</h1>
      20 = TEXT
      20.field = subtitle
      20.wrap = <h2>|</h2>
      30 < tt_content
    }
  }
}

Soweit so gut, Texte, Bilder und Videos werden angezeigt.
Dummerweise werden die Seitentitel und Untertitel aus den Feldern
title und subtitle nicht angezeigt.
Vielleicht hat jemand eine Idee woran das liegt?

Noch eine weitere Frage:

Wird bei "join" berücksichtigt, wenn ich mehrere Sprachen verwende oder
muss ich den join über die Tabelle 'pages_language_overlay' erweitern?

Vielen Dank schonmal für alle Antworten!

Chrissli ·

Schande über mich,
wenn man die Klammern richtig setzt, dann klappt's
auch mit dem Teaser.
Und die tt_content-Kopie wird teil des COA vom RenderObj

Hier meine Lösung, vielleicht hilft es ja irgend jemandem weiter.

temp.content0 = CONTENT
temp.content0 {  
  table = tt_content
  select {    
    join = pages ON (tt_content.pid = pages.uid)
    pidInList.cObject = HMENU
    pidInList.cObject {
      special= directory
      special.value = 5
      1 = TMENU
      1 {
        expAll = 1
        NO {
          doNotLinkIt = 1
          stdWrap.field = uid
          stdWrap.wrap = | |*|  ,| |*|
        }
      }
    }
    where = colPos = 1
    andWhere = pages.pid = 5    
    languageField = sys_language_uid   
  }

  renderObj = COA
  renderObj {

    10 = TEXT
    10.field = title
    10.typolink.parameter.field = uid
    10.wrap = <h1>|</h1>
    20 = TEXT
    20.field = subtitle
    20.wrap = <h2>|</h2>
    30 < tt_content   
    wrap = <div class="teaser">|</div>
  }
}