Zum Inhalt springen

Seiteninhalte zufällig anzeigen

Erstellt am 21. Juni 2011 · 4 Antworten · letzte Antwort am 22. Juni 2011

Tags: Frage

asdmax ·

Hallo zusammen,

ich bin Typo3-Anfänger. Bis jetzt hat alles wunderbar geklappt. Bin bis jetzt begeistert von diesem CMS.

Jetzt hat sich allerdings eine Frage aufgetan:

Ich habe eine Seite A mit einigen Textelementen in der rechten Spalte.

Von diesen Textelementen möchte ich eines zufällig auf einer Seite B in der rechten Spalte anzeigen.

Vielleicht hat mir hier jemand einen Tip wo ich was einstellen muss.

Vielen Danke schonmal

Ckoenig ·

TypoScript für Seite B, wenn das Template für den Content der Seite B in der rechten Spalte den Marker SPALTE_RECHTS enthält:

page.10 = TEMPLATE
page.10.marks.SPALTE_RECHTS = CONTENT
page.10.marks.SPALTE_RECHTS {
    table = tt_content
    select {
      # ID der Seite A
      pidInList = 42
      where = colPos = 2
      max = 1
      orderBy = rand()
    }
  }
}

Grüße,
Carsten

asdmax ·

Danke für deine schnelle Antwort.

Kann es sein dass da noch ein Klammer fehlt?

Und wo genau muss der Code dann hin?
Erweiterungs-Template für meine Seite B?

Ckoenig ·
asdmax schrieb

Kann es sein dass da noch ein Klammer fehlt?

Da war eine zuviel.

page.10 = TEMPLATE
page.10.marks.SPALTE_RECHTS = CONTENT
page.10.marks.SPALTE_RECHTS {
  table = tt_content
  select {
    # ID der Seite A
    pidInList = 42
    where = colPos = 2
    max = 1
    orderBy = rand()
  }
}
asdmax schrieb

Erweiterungs-Template für meine Seite B?

Genau da.

asdmax ·

Ich habe es jetzt hinbekommen.

Bei mir sieht es jetzt leicht anders aus:

page = PAGE

lib.inhalte = CONTENT
lib.inhalte {
  table = tt_content
  select {
    # ID der Seite A
    pidInList = 12
    where = colPos = 2
    max = 1
    orderBy = rand()
  }
}

page.10 = TEMPLATE
page.10 {
    template =< plugin.tx_automaketemplate_pi1
    workOnSubpart = DOCUMENT_BODY
    subparts {
       blockRight < lib.inhalte
    }
}

Funktioniert jetzt wunderbar soweit ich das einschätzen kann 🙂

Vielen Dank nochmal