tt_news: RTE in Untertitel

TYPO3So kann man tt_news um das RTE-Feature im Untertitel erweitern

tt_news ist eine prima Extension, die viel genutzt wird, um Nachrichten auf einer TYPO3-Seite anzuzeigen. Leider bringt die Standard-Installation für den Untertitel einer Nachricht keine RTE-Unterstützung mit.

Mit ein paar kleinen Anpassungen ist es aber möglich, dieses Feature nachträglich einzubauen. Und das Beste dabei ist, das die Änderungen auch bei den nächsten Extension-Updates auch noch erhalten bleiben…

Dazu muss man lediglich ein paar Anpassungen am TCA-Array für die Tabelle tt_news machen und ein wenig TypoScript konfigurieren.

Damit die Änderungen auch nach dem nächsten Extension-Update erhalten bleiben, lässt man die Original-Dateien tunlichst unberührt. Statt dessen trägt man in der Datei typoconf/localconf.php oder besser noch in der Datei typo3conf/extTables.php ein. In diesen Dateien kann man die TCA-Konfiguration für beliebige Tabellen überschreiben.

Für unseren Fall trägt man folgenden Code ein:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
t3lib_div::loadTCA('tt_news');
$GLOBALS['TCA']['tt_news']['columns']['short']['config']['softref'] = 'typolink_tag,images,email[subst],url';
$GLOBALS['TCA']['tt_news']['columns']['short']['config']['wizards'] = array(
	'_PADDING' => 4,
	'RTE' => array(
		'notNewRecords' => 1,
		'RTEonly' => 1,
		'type' => 'script',
		'title' => 'LLL:EXT:lang/locallang_general.php:LGL.subheader',
		'icon' => 'wizard_rte2.gif',
		'script' => 'wizard_rte.php',
	),
);
foreach($GLOBALS['TCA']['tt_news']['types'] as $index => $conf) {
	$GLOBALS['TCA']['tt_news']['types'][$index]['showitem'] = preg_replace('/short([.^,])*,/', 'short;;;richtext:rte_transform[flag=rte_enabled|mode=ts];4-4-4,', $GLOBALS['TCA']['tt_news']['types'][$index]['showitem']);
}
?>

Voilá! Im Backend steht (nach dem Löschen des Konfigurations-Caches) in den News-Datensätzen ein RTE für den Untertitel zur Verfügung!

Nun muss man lediglich noch das Frontend-Rendering für dieses Feld anpassen. Dazu bedient man sich der mannigfaltigen TypoScript-Konfigurationsmöglichkeiten von tt_news.

Für die Listenansicht z.B. benötigt man folgendes TypoScript im Setup:

1
2
3
4
5
6
7
8
plugin.tt_news {
  displayList {
    subheader_stdWrap.stripHtml = 0
    subheader_stdWrap.crop =
    subheader_stdWrap.parseFunc =< lib.parseFunc_RTE
    subheader_stdWrap.outerWrap >
  }
}

Diese Einstellungen sorgen dafür, das das Feld Untertitel auch wie ein RTE-Feld gerendert wird. Zusätzlich werden noch HTML-Tags zugelassen und ein Cropping (abschneiden des Textes nach einer bestimmten Zeichen-/Wortzahl) ausgeschaltet, um den HTML-Quelltext valide zu halten.

Für die anderen Ansichten (Latest, Single, …) muss man natürlich analog vorgehen.

Eleganter wäre es natürlich, wenn man den obengenannten Code in eine eigene Extension auslagern würde, die dann bei Bedarf einfach installiert werden kann. Der Code aus der typo3conf/extTables.php würde dann in die ext_tables.php der Extension wandern, das TypoScript könnte in einer statischen TypoScript-Datei hinterlegt werden.

Viel Spaß damit!

18 Gedanken zu „tt_news: RTE in Untertitel

  1. Pingback: RTE im Untertitel-Feld der TYPO3-EXtension tt_news | EXlog

  2. Mario Kober

    Hi, du kannst auch einfach mit:

    crop >
    cropHTML = 300|…|1

    die Problematik der offenen Tags unterbinden. Ansonsten danke ich dir für diesen Beitrag 🙂 Grüße!

    Antworten
  3. Pingback: RTE im Untertitel-Feld der TYPO3-EXtension tt_news | EXlog

  4. Pingback: rte in subheader tt_news : notes

  5. Wolfgang

    Ich habe das gerade ausprobiert und bekomme den RTE im BE angezeigt aber im FE wird die Ansicht nicht mit den RTE Formatierungen gerendert.Allerdings sind die Elemente vom Typ externer Link. Kann das daran liegen?

    Antworten
    1. benny Beitragsautor

      Hallo Wolfgang,
      Mit dem Typ kann es nichts zu tun haben – in meinem Testsystem werden alle Untertitel auch für “externe URL”-News schön gerendert. Evtl. tritt das Problem in einer anderen Ansicht auf? Das Snippet aus dem Artikel behandelt nur die List-Ansicht. Für die Latest-Ansicht beispielsweise müsstest du das TypoScript entsprechend erweitern.
      Gruß,
      Benny

      Antworten
    1. benny Beitragsautor

      Hallo Maltisch,
      danke für den Hinweis und sorry für die späte Rückmeldung. Ich habe den Artikel mal entsprechend angepasst.
      Gruß,
      Benny

      Antworten
  6. Maltisch

    Hallo Benny,

    erstmal danke für den guten Artikel.
    RTE funktioniert jetzt für den subheader.
    Leider ist das ganze nicht mehr valide bei XHTML 1.0 Transitional. Der ganze subheader mit dem more-link wird von einm p-tag gewrapped. Also p-tag innerhalb von p-tag. Trifft dieses Problem bei dir auch auf?

    Danke und Grüße

    Antworten
  7. Holger

    Hallo Benny,

    sorry hatte die letzten Tage keine Zeit um an der Seite weiter zu machen.
    Jetzt hab ich gerade mal die neu ext_tables.php hochgeladen und was soll ich sagen….. jippiiee :)… es funktioniert alles

    Komisch ist nur daß die eine Installation immer noch funktioniert, obwohl ich mehrfach den cache gelöscht habe.. Na ja egal, mit der neuen Konfiguration ist alles bestens.

    Vielen Dank nochmal
    Holger

    Antworten
  8. Holger

    Hallo Benny,

    Also beide Installationen sind auf Typo3 4.4.4 und die tt_news ist jeweils 3.0.1.

    Die ext_tables.php ist auch bei beiden Installationen die selbe Datei, keinerlei Unterschiede.

    Die funktionierende Version ist auf meinem Server neu aufgesetzt, die andere (nicht funktionierende Version)ist auf einem Kundenserver.
    Diese habe ich gestern nach dem es nicht funktioniert hatte von Version 4.2.15 upgedatet, weil ich die Typo3 Version in Verdacht hatte das Problem zu verursachen.
    Hast noch irgend eine Idee?

    Antworten
    1. benny Beitragsautor

      Hallo Holger,

      ich habe das Ganze jetzt noch mal mit deinen Versionen getestet und musste mit Erschrecken feststellen: es funktioniert tatsächlich nicht! Offensichtlich gab es ein paar Änderungen in der TCA von tt_news, das Script wurde dadurch inkompatibel. Wahrscheinlich hattest du noch alte TCA-Konfigurationen im Cache deiner lokalen Installation, deswegen hat es da dann (noch) funktioniert. Ich habe eine (zugegebener etwas elegantere) Lösung, die kompatibel zu nahezu allen Versionen von tt_news sein sollte, gebastelt und den Artikel entsprechend aktualisiert. Bitte probier das doch einmal aus und gib mir Rückmeldung.

      Gruß,
      Benny

      Antworten
  9. Holger

    Hallo Benny,

    hab gerade ein seltsames Problem.
    Ich habe genau nach dieser Möglichkeit gesucht den Untertitel um den RTE zu erweitern. Auf meiner Seite funktioniert das super.
    Jetzt hab ich das gleiche noch auf einer anderen Seite ausprobiert und wenn ich dort dann die ext_tables.php hochlade wird mir nur noch das Feld für den Untertitel angezeigt. Alle anderen Felder und auch die Reiter sind dann weg.

    Hab schon TYPO3 und auch tt_news auf den aktuellsten Stand gebracht. Hast DU eine Idee an was das liegen könnt?!

    Ich bin momentan etwas ratlos.

    Antworten
    1. benny Beitragsautor

      Hallo Holger,
      das ist leider aus der Ferne ein wenig schwierig zu beurteilen. Vielleicht vergleichst du einfach mal beide Installationen. Stimmen die TYPO3-Core-Versionen überein und die Versionen von tt_news? Gab es in dem anderen System anderweitige Anpassungen? Sind die beiden ext_tables.php identisch, oder gibt es hier vielleicht irgendwo einen Tippfehler? Poste doch ein paar mehr Informationen, dann kann ich dir vielleicht ein wenig besser helfen…
      Gruß,
      Benny

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.