TYPO3 tt_news – nützliche Konfigurationen

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&nbsp;"|":</div>
  catRootline.divider = &nbsp;
  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
}

Link: http://typo3.org/documentation/snippets/sd/461/