TYPO3 bietet mit tt_news eine Extension, die sehr vielfältig eingesetzt werden kann. Will man sie nicht nur im klassischen Newsbereich verwenden, sollte man einige Konfigurationsoptionen kennen.
Kategorien im Backend nur auf bestimmten Seiten anzeigen
Zunächst sollte in den Konfigurations Optionen im Extension Manager ein Häckchen gesetzt werden bei Use "General record storage page"
. Damit hat man erreicht, dass Kategorien im Backend nicht mehr auf jeder Seite angezeigt werden. Setzt man tt_news beispielsweise sowohl für News als auch für Termine ein, benötigt man unter Umständen jeweils unterschiedliche Kategorien. Um die Kategorien für die gewünschten Seiten anzuzeigen, geht man in die Seiteneigenschaften, Reiter Ressourcen, und gibt die Seite, auf der die Kategorien angelegt sind, unter „allgemeine Datensatzsammlung“ an.
tt_news per TypoScript einbinden
In diesem Beispiel soll in der rechten Spalte die Suche angezeigt werden und zwar ohne, dass der Plugin Datensatz verwendet wird, sondern per Typoscript:
contentright.10 < plugin.tt_news contentright.10 { pid_list = 100 code = SEARCH searchPid = 101 singlePid = 102 emptySearchAtStart = 1 } |
Anzeige der Kategorien im Kategoriemenü
Erstellt man zusätzlich zur Listenübersicht ein Kategoriemenü (CATMENU
), so kann man darüber die dieser Kategorie zugehörigen News filtern. Als Überschrift bietet sich z.B. folgende Zeile an:
Anzeige aller News in der Kategorie "Waldmeister": |
So gehts´s:
plugin.tt_news { catRootline.catRootline_stdWrap.wrap = <div class="news-catRootline"> Anzeige aller News in der Kategorie "|":</div> catRootline.divider = catRootline.showCatRootline = 1 } |
Default Kategorie festlegen
Folgendes isn Page TS der Seite (SysOrdner), auf der die News liegt:
TCAdefaults.tt_news.category = 1 (id der Kategorie) |
Listenansicht als Tabelle mit zwei Kategorien als Spaltenüberschriften
Natürlich kann man sich das List-Template leicht als Tabelle einrichten. Wenn man nun zwei Kategorien hat, die beide als Spaltenüberschriften dienen sollen, so muss man lediglich darauf achten, dass die Reihenfolge stimmt.
plugin.tt_news { categoryDivider = displayList.categoryTitleItem_stdWrap.wrap = <td>|</td> catOrderBy > } |
catOrderBy >
kann verwendet werden, wenn man z.B. den jQuery Tablesorter einsetzt um die Tabelle nach Spaltenüberschriften sortierbar zu machen.
Das dazugehörige HTML könnte so aussehen:
<!-- ###TEMPLATE_LIST### begin This is the template for the list of news in the archive or news page or search --> <div class="news-list-container"> ###NEWS_CATEGORY_ROOTLINE### <table class="table" id="tablesorter"> <thead> <tr> <th>Titel</th> <th>Kategorie 1</th> <th>Kategorie 2</th> </tr> </thead> <tbody> <!-- ###CONTENT### begin This is the part of the template substituted with the list of news: --> <!-- ###NEWS### begin Template for a single item --> <tr> <td><!--###LINK_ITEM###-->###NEWS_TITLE###<!--###LINK_ITEM###--></td> ###NEWS_CATEGORY### </tr> <!-- ###NEWS### end--> <!-- ###CONTENT### end --> </tbody> </table> </div> <!-- ###TEMPLATE_LIST### end --> |
Backend Felder ausblenden, umbenennen und vorbelegen
Das funktioniert bei jeder Extension gleich (s. den Beitag zu tt_address in diesem Blog).
Folgendes ist im TSConfig Feld in den Seiteneigenschaften/Ressourcen einzutragen, und zwar auf der Seite, auf der die News angelegt werden:
TCEFORM.tt_news { short.disabled = 1 archivedate.disabled = 1 datetime.disabled = 1 author_email.disabled = 1 keywords.disabled = 1 sys_language_uid.disabled = 1 author.label = ab: } TCAdefaults.tt_news.author = sofort |
In diesem Beispiel werden einige Felder ausgeblendet (Untertitel, Archivdatum, Datum/Zeit, E-Mail, Stichworte, Sprache). Das Feld „Autor“ wird umbenannt in „ab:“ und mit dem Wert „sofort“ vorbelegt. Im TypoScript Template muss für das Autorfeld noch folgendes geändert werden, da in den Übersetzungsdateien standardmäßig ein „von“ vor den Wert gesetzt wird, sofern das Feld „Autor“ gefüllt ist:
plugin.tt_news._LOCAL_LANG.de.preAuthor = |
Weitere Übersetzungen, die immer wieder benötigt werden:
plugin.tt_news { _LOCAL_LANG.de { noNewsToListMsg = hier gibts grad keine News more = weiter lesen } } |
Um neue Felder im Backend für tt_news hinzuzufügen empfehle ich die Extension ttnewsfield.
Das selbe für tx_news
TCEFORM.tx_news_domain_model_news { istopnews.disabled = 1 teaser.disabled = 1 bodytext.disabled = 1 author.disabled = 0 categories.disabled = 1 related.disabled = 1 relatedFrom.disabled = 1 tags.disabled = 1 keywords.disabled = 1 related_from.disabled = 1 media.disabled = 1 media_records.disabled = 1 related_files.disabled = 1 related_links.disabled = 1 } |