In älteren Typo3 Versionen stand die tt_news
Erweiterung zur Verfügung, welche seit Version 6 durch die Erweiterung news
ersetzt werden muss. Auf dieser Seite sind einige Anleitungen zur Migration von tt_news
zu news
bzw. die Konfiguration der neuen Erweiterung gesammelt.
Die Latest-Ansicht soll z.B. auf der Startseite die letzten Nachrichten mit Titel und ggf. kurzem Teaser anzeigen. Es sollen keine Infos wie Kategorie, Datum und auch keine Bilder enthalten sein, um Platz zu sparen. Diese Anleitung orientiert sich an einer Anleitung von t3brightsight.
Zunächst legt man hierzu ein neues Layout an. In der Seiten TS-Config wird folgendes hinzugefügt
tx_news.templateLayouts { 1 = Latest Ansicht 9 = Normale Ansicht }
Anschließend müssen wir die Templates ändern. Damit die Änderungen bei einem Update nicht überschrieben werden, kopieren wir die Template-Dateien in das lokale Template-Verzeichnis und teilen Typo3 mit, wo die modifizierten Templates liegen. Dies geschieht nach Anleitung der news-Erweiterung in der TS-Config:
plugin.tx_news { view { templateRootPaths { 0 = EXT:news/Resources/Private/Templates/ 1 = EXT:fileadmin/templates/ext/news/Templates/ } partialRootPaths { 0 = EXT:news/Resources/Private/Partials/ 1 = fileadmin/templates/ext/news/Partials/ } layoutRootPaths { 0 = EXT:news/Resources/Private/Layouts/ 1 = fileadmin/templates/ext/news/Layouts/ } } }
Die drei Verzeichnisse Templates
, Partials
und Layouts
sind drei Standardverzeichnisse von Fluid-Templates (s. T3N-Artikel für eine Erklärung.
Wichtig: Wenn eine Erweiterung des News-Plugins (z.B. Twitter Bootstrap) eingebunden ist, kann sich Reihenfolge der Pfade unterscheiden. Dateien am Ende der Liste werden als erstes eingebunden, wenn diese fehlen wird auf das Backup zurückgegriffen.
Wir kopieren anschließend die Template-Dateien in unser lokales Template-Verzeichnis /fileadmin/templates
:
Quelle (Extension-Source) | Ziel (Template-Verzeichnis) |
---|---|
EXT:news/Resources/Private/Templates/News/List.html | fileadmin/templates/ext/news/Templates/News/List.html |
EXT:news/Resources/Private/Partials/List/Item.html | fileadmin/templates/ext/news/Partials/List/Latest.html |
Das ausgegebene <div class=„news-list-view“>
Objekt soll nun nur noch ausgegeben werden, wenn das eigene Template nicht ausgewählt ist und stattdessen wollen wir ein <div class=„news-latest-view“>
Objekt ausgeben:
... <f:if condition="{news}"> <f:then> <!-- this condition was added to introduce latest view --> <f:if condition="{0:settings.templateLayout} == {0:'latestView'}"> <f:then> <!-- this is the code for the latest view --> <div class="news-latest-view"> <f:for each="{news}" as="newsItem" iteration="iterator"> <f:render partial="List/Latest" arguments="{newsItem: newsItem, settings:settings, className:className, view:'list'}"/> </f:for> </div> </f:then> <f:else> <!-- this was the original code --> <div class="news-list-view"> <f:if condition="{settings.hidePagination}"> <f:then> <f:for each="{news}" as="newsItem" iteration="iterator"> <f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" /> </f:for> </f:then> <f:else> <n:widget.paginate objects="{news}" as="paginatedNews" configuration="{settings.list.paginate}" initial="{offset:settings.offset,limit:settings.limit}"> <f:for each="{paginatedNews}" as="newsItem" iteration="iterator"> <f:render partial="List/Item" arguments="{newsItem: newsItem,settings:settings,iterator:iterator}" /> </f:for> </n:widget.paginate> </f:else> </f:if> </div> </f:else> </f:if> </f:then>
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.