Content-slide mit TemplaVoila : ein Inhaltselement auf vielen Seiten – mit SLIDE Funktion

Folgende Situation: man hat ein 3-spaltiges Html-Template und möchte gerne, dass sich der Inhalt der rechten Spalte auf die Seiten, die unter einer Seite ligen vererben. Findet TYPO3 also einen Inhalt in der Spalte, soll dieser angezeigt werden, wenn nicht, soll in einer Seite darüber geschaut werden ob Inhalt existiert.

In den neuen Typo3-Versionen ist für das Element CONTENT mittlerweile eine solche Slide-funktion vorhanden und es ist relativ simpel diese in ein Template von TV einzubauen. Man muss einfach im XML der Seite die entsprechende Content-Spalte suchen und den Typoskript-Code der zuständig ist für das einbinden der Inhalte etwas modifizieren. Hauptsächlich muss hier das Objekt “RECORDS” mit “CONTENT” ersetzt werden, da die Slide-funktion für RECORDS nicht existiert.

Man sucht also nach folgendem Code im XML:

<!--[CDATA[
10= RECORDS
10.source.current=1
10.tables = tt_content
10.wrap = <--! TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
]]>

und ersetzt ihn mit diesem:

<!--[CDATA[
# CONENT-Objekt statt RECORDS
10 = CONTENT
10.table = tt_content
# die ColPos in welcher der anzuzeigende Inhalt gespeichert wird
10.select.where = colPos=1
# die eigentliche Slide-Anweisung
10.slide = -1
10.wrap = <!-- TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
]]>

Jetzt sollte in der jeweiligen Spalte entweder der Inhalt angezeigt werden, der auf dieser Seite in der Spalte eingepflegt wurde, oder, wenn kein Inhalt auf der Seite gefunden wird, der Inhalt dieser Spalte der von einer im Stammbaum darüberliegender Seite vererbt wird.

Diese Seite Bookmarken:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • LinkArena
  • MisterWong
  • TwitThis
  • Live
  • MySpace
  • Print this article!
  • StumbleUpon
  • Technorati
  • Webnews.de
  • Wikio

No related posts.

8 Comments

pietDezember 30th, 2008 at 09:27

Hi, maybe it’s a bit zu fruh,
Do I read correcly that you replace:

|
]]–>

with:

|
]]–>

???

regards,
piet

randomresultDezember 30th, 2008 at 21:13

sorry… after an update, all my code-entries are wrong… try to fix it step by step :)

Mr.FreshMärz 8th, 2009 at 08:38

Hierbei werden aber Elemente die vormals vererbt worden sind und dann gelöscht werden immer noch angezeigt, bis diese komplett gelöscht sind.

Kann man daran etwas ändern?

luuukiMärz 23rd, 2009 at 12:43

Hi…

selbiges Problem. Wir auf der Root Seite das Inhaltselement welches nach unten weitervererbt werden soll gelöscht, erscheint es trotzdem weiterhin auf allen Unterseiten. ???

luuukiMärz 23rd, 2009 at 12:51

Lösung:

“Da beim Einsatz von TemplaVoilà die Inhaltselemente beim Löschen keinen deleted=1 Flag gesetzt bekommen müssen hier die Content Elemente noch zusätzlich manuell aus dem Reiter “Nicht verwendeten Elemente” gelöscht werden. Beim Löschen von den TV Inhalten wird nämlich nur die Verknüpfung entfernt und das Content Element bleibt selber bestehen.”

siehe: http://quadratliter.at/12/02/2008/templavoila-spalten-inhalt-recursiv-ausgeben/

nuschlerJanuar 12th, 2010 at 06:03

In der neuen TYPO3 Version ist es gar nicht mehr nötig, in der XML DS herumzupriemeln.
Innerhalb von “modify DS” läßt sich das ganze entspannt mit TS erledigen.

eichiFebruar 25th, 2010 at 15:08

Hallo nuschler

Und wie könnte die entspannte Lösung mit TS aussehen? Habe im Web nichts schlaues gefunden.

Danke und Gruss

daveMärz 8th, 2010 at 09:36

z.B. so:

10 = CONTENT
10 {
table = tt_content

select {
selectFields = tt_content.*
where = tt_content.colPos=0
groupby = tt_content.uid

leftjoin = pages ON(pages.uid = tt_content.pid)
andWhere = INSTR(pages.tx_templavoila_flex, CONCAT(‘index=”vDEF”>’, tt_content.uid, ”))>0
}

slide = -1
slide {
collect = -1
}
}

Leave a comment

Your comment