Auf einer Webseite wollte ich für den Fall, dass der Redakteur bei einer Spalte oder einem Content-Element keinen Inhalt hinterlegt hat automatisch den Inhalt einer bestimmten Seite anzeigen. Nach langem Suchen habe ich es schließlich geschafft, in dem ich die Extension flexform_getfield verwendet habe. Weitergeholfen hat mir dabei auch ein Forumsbeitrag auf typo3.net.
In der DS-XML-Datei habe ich folgende Zeilen
10 {
source.current=1
tables = tt_content
wrap = <!--TYPO3SEARCH_begin--> | <!--TYPO3SEARCH_end-->
}
in
10 {
source.current=1
tables = tt_content
#Typo3-Search nur ausgeben, wenn Inhalt vorhanden ist - siehe http://www.typo3-jack.net/typo3-dev-lists-netfielders-de/2404-typo3-dev-typoscript-stdwrap-ifempty-but-no-stdwrap-ifisset.html
stdWrap {
required = 1
wrap = <!--TYPO3SEARCH_begin-->|<!--TYPO3SEARCH_end-->
}
stdWrap.ifEmpty.cObject = COA
stdWrap.ifEmpty.cObject =< temp.getNews
}
abgeändert. Das obige Konstrukt temp.getNews sollte dabei auf den Inhalt einer ebenfalls vom Redakteur bearbeitbaren Seite verweisen. Das habe ich folgendermaßen bewerkstelligt:
temp.getNewsID = USER
temp.getNewsID {
userFunc = tx_flexformgetfield_pi1->main
field = field_centercontent
recLevel=4
#UID der Seite mit den News
uid=149
}
temp.getNews = RECORDS
temp.getNews.source.cObject < temp.getNewsID
temp.getNews.tables = tt_content
Es hat ewig gedauert, bis ich herausgefunden hatte, dass man nur durch die Änderung von source.cObject die NewsID übergeben kann und nicht etwa durch temp.getNews.source < temp.getNewsID.
[…] u. a. tlw. von: http://www.effinger.org/blog/2008/10/19/templavoila-sidebar-statt-leerem-inhalt-anzeigen/ […]