Kategorie: Typo3 Extensions

  • Fehler: „Oops, an error occurred!“ nach TYPO3 12.4 und News Extension 11.3.0 Update in Bezug auf den Fluid Viewhelper „includeFile“

    Nach dem Update einer TYPO3-Website auf Version 12.4 und einem gleichzeitigen Update der News Extension auf Version 11.3.0 kann es vorkommen, dass bestehende News-Artikel weder in der Übersichtsliste noch in den Detailansichten angezeigt werden. Stattdessen erscheint die Fehlermeldung „Oops, an error occurred! Code: 202401072011058d9760ff“. AdHoc konnte ich keine Fehlerursache erkennen auch waren bei einer Google Suche keine Lösungen für das Problem verfügbar.

    Ursache des Problems

    Die Ursache für diesen speziellen Fehler liegt in einer Änderung der ViewHelpers in der News Extension. In der Logdatei wird ein Fehler im Zusammenhang mit dem ViewHelper „<n:includeFile>“ angezeigt.
    Error: The ViewHelper "<n:includeFile>" could not be resolved.

    Dieser ViewHelper wurde in den früheren Versionen der News Extension verwendet, ist aber in der Version 11.3.0 nicht mehr vorhanden.

    In der Dokumentation der News Extension Version 10 wird der IncludeFile ViewHelper noch erwähnt, jedoch fehlt er in der Dokumentation der Version 11. Diese Änderung wurde offenbar nicht breit kommuniziert, da ich online keine Informationen darüber finden konnten.

    Lösung des Problems

    Die Lösung für dieses Problem wurde im offiziellen TYPO3 Slack-Kanal gefunden. Ein anderer Benutzer hatte das gleiche Problem geäußert, und der Entwickler der News Extension, Georg Ringer, gab einen entscheidenden Hinweis.

    In den originalen Fluid Templates ab Version 11 der News Extension ist ein neues, funktionierendes Code-Fragment zu finden. Anstelle von:

    <f:if condition="{settings.cssFile}">
    	<n:includeFile path="{settings.cssFile}" />
    </f:if> 

    sollte jetzt folgender Code verwendet werden:

    <f:if condition="{settings.cssFile}">
    	<f:asset.css identifier="ext-news" href="{settings.cssFile}" />
    </f:if>

    Anscheinend hat der Autor der News Extension seinen eigenen, extension-spezifischen ViewHelper zugunsten eines standardmäßigen ViewHelpers mit identischer Funktion aufgegeben und aus der Extension entfernt.

    Bei mir half eine Änderung des Syntax in den News Fluid Templates Dateien Layouts/General.html und Layout/Detail.html aus, damit die News Extension in der neuen TYPO3 Instanz wieder funktionierte.

  • Behebung der TYPO3 PHP-Warnung – PHP Warning: Undefined array key „tx_news_pi1“ – nach dem Update auf PHP 8

    Wenn Sie kürzlich Ihr TYPO3-System auf PHP 8 aktualisiert haben, könnten Sie auf eine hartnäckige PHP-Warnung im TYPO3 Systemlog gestoßen sein, die sich auf den Schlüssel „tx_news_pi1“ bezieht.

    Nach dem Update auf PHP 8 bemerkte ich hunderte von Warnungen im TYPO3 System Log, die alle auf die gleiche Typoscript Condition hinwiesen:

    [request.getQueryParams()['tx_news_pi1']['news'] > 0].

    Nach einiger Recherche stellte sich heraus, dass die Syntax für Conditions in TypoScript geändert wurde.

    Die Lösung liegt in der Anpassung der Typoscript Condition. Anstelle der alten Syntax verwendet man nun die neue Syntax:
    [traverse(request.getQueryParams(), 'tx_news_pi1/news') > 0].

    Diese Änderung beseitigt die PHP-Warnungen.

    In der TYPO3-Dokumentation findet man weitere Informationen zur Implementierung der Symfony Expression Language für TypoScript Conditions, welche die Änderungen in der Syntax erklärt. Der folgende Link führt Sie zur entsprechenden Dokumentation: TYPO3-Dokumentation.

  • Fehler „The requested resource /web/NewsTxNewsM2/ was not found.“ nach dem Update der TYPO3 Extension News

    Nach dem Update der TYPO3 Extension news tritt beim Aufrufen des NEWS Backend-Moduls der Fehler:

    „The requested resource /web/NewsTxNewsM2/ was not found.“

    Erst eine Webrecherche brachte die Lösung für das Problem. Auf der Github Seite der News Extension findet man im Forum den entscheidenden Hinweis:

    „For me, fixed the problem by resaving news configuration in Settings > Configure extension.“

    Darauf muss man erst mal kommen. Man muss die Einstellungen der News Extension neu abspeichern. Änderungen an den Einstellungen sind dazu nicht notwendig.

    Speichern der NEWS Einstellungen

    Danach lässt sich das Backend der News Extension wieder ohne Fehler öffnen.

  • Fehler: „Oops, an error occurred!“ beim Updaten der TYPO3 Extension „Dynamic Content Elements (DCE)

    Problem: Nach dem Update der TYPO3 Extension „Dynamic Content Elements (DCE)

    tritt im Backend die Fehlermeldung „Oops, an error occurred!“ auf.

    Lösung: Dieses Problem lässt sich leicht beheben, indem man im Installtool von TYPO3 die Extension Autoload Informationen mit dem Befehl „Create autoload information for extension“ neu aufbaut:

    Danach funktioniert TYPO3 wieder ohne Probleme.

    Wenn man ein DCE Update plant, öffnet man das Installtool am besten vor dem DCE Update in einem anderen Browserfenster. Dann ist die Lösung nur ein Klick weit entfernt.

    Wenn man Shellzugriff auf die TYPO3 Installation kann man alternativ auch den Ordner „autoload“ im Ordner typo3conf löschen.

  • TYPO3 8.7 form_legacy Wizard ausblenden / Code anzeigen / Form definition anzeigen / Hide Form Wizard

    Bei der form_legacy Extension in TYPO3 8.7 kann man nicht wie bei der Form Extension in TYPO3 7 zwischen Form Code Definition und Wizard / WYGIWYS Editor / Assistent umschalten. Es wird standardmäßig nur der Wizard angezeigt. Um wieder Zugriff auf den Code der Form Konfiguration zu erhalten muss man das User TSConfig des aktuellen Benutzers anpassen.

    Folgender Typoscriptbefehl blendet den Formwizard aus:

    setup.default.tx_form.showWizardByDefault = 0

    Quellen: 

     

     

     

  • TYPO3 8.7 Update der DCE RTE Flexform Konfiguration bei DCE Elementen aus TYPO3 7.6

    Problem:

    Durch den Wechsel des TYPO3 HTML Editors auf den CKEditor tritt bei einen DCE Inhaltselement mit einem RTE Element ein Problem auf, dass beim Speichern jedes Mal zusätzliche Leerzeilen zur Ausgabe hinzugefügt werden.

    Beispiel der DCE HTML Ausgabe eines RTE Steuerelements mit alter Flexform Config (TYPO3 7.6) nach mehrmaligen speichern:

    p><strong>Modernisieren Sie jetzt!&nbsp;</strong></p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>

    Um dieses Problem zu beheben, muss man bei der TYPO3 8.7 DCE Definition das RTE Flexform Config updaten.

    DCE RTE Flexform Konfig in TYPO3 7.6
    <config>
        <type>text</type>
        <rows>5</rows>
        <cols>30</cols>
        <eval>trim,required</eval>
    </config>
    <defaultExtras>richtext[]:rte_transform[mode=ts_css]</defaultExtras>

    DCE RTE Flexform Konfig in TYPO3 8.7

    <config>
        <type>text</type>
        <rows>5</rows>
        <cols>30</cols>
        <eval>trim,required</eval>
        <enableRichtext>1</enableRichtext>
        <richtextConfiguration>default</richtextConfiguration>
    </config>

    Um das Update für alle DCE RTE Elemente in der Datenbank auf einmal zu erledigen, kann man dies direkt mit folgender SQL-Abfrage tun:

    USE dbname;
    update tx_dce_domain_model_dcefield set configuration=
    '<config>
        <type>text</type>
        <rows>5</rows>
        <cols>30</cols>
        <eval>trim,required</eval>
        <enableRichtext>1</enableRichtext>
        <richtextConfiguration>default</richtextConfiguration>
    </config>'
    where configuration like '%rte_transform%';
  • Nach TYPO3 Update auf 8.7 werden bei DCE Inhalts- Elementen „Kopie 1“ oder „Kopie 2“ im Inhalt angezeigt

    Die Ursache ist mir noch ein wenig unklar, warum nach dem Update auf TYPO3 8.7 bei kopierten Inhaltselementen des Plugins DCE die Header Spalten der tt_content Tabelle angezeigt werden. Darin befinden sich bei kopierten DCE Elementen die Zeichenfolge „Kopie 1“. Wobei die Zahl bei mehreren Elementen hochgezählt wird. Vorhanden waren die Einträge vor dem Update auf TYPO3 8.7 zwar auch schon, wurden aber nicht angezeigt. Erst nach dem TYPO3 Update haben die kopierten DCE Elemente einen h2 Header mit dem Inhalt „Kopie n“.

    Eine Recherche hat zwei Lösungsvorschläge gebracht, die leider für mich nicht in Frage kamen.

    Der erste Lösungsvorschlag war eine Typoscript Konfiguration

    TCEMAIN.table.tt_content {
    disablePrependAtCopy = 1
    disableHideAtCopy = 1
    }

    Diese zeigte bei meiner TYPO3 Seite keine Wirkung. Die Header mit „Kopie 1“ wurden immer noch angezeigt. Ich gehe davon aus, dass sich die Typoscript Einstellung nur auf neue kopierte Elemente auswirkt.

    Der zweite Lösungsvorschlag war, die bei DCE Inhaltselementen standardmäßig ausgeblendete Spalte „Header“ mittels „Sonstige“ -> „Vefügbare Objekte“ -> „Überschrift(header)“ einzublenden und bei allen Inhaltselementen die Headerspalte manuell zu leeren.

    Diese Lösung funktioniert zwar prinzipiell, ist aber bei umfangreichen TYPO3 Webseiten sehr aufwendig, da alle Inhaltselemente noch einmal bearbeitet werden müssen.

    Nach einem Blick in die tt_content Tabelle der betreffenden TYPO3 Datenbank, kam mir die Idee das Problem auf Datenbankebene zu lösen.

    update tt_content set header='' where header like '%Kopie%';

    Mit dieser SQL Abfrage werden alle Header Elemente in der in der tt_content Tabelle geleert, die das Muster %Kopie% in der Spalte „header“ enthalten. Nach einem Cachelöschen waren die unerwünschten Überschriften wie „Kopie 1“ aus dem Inhalt der Webseite verschwunden.

  • rgsmoothgallery Thumbnails – Beschriftung ändern / umbenennen

    Ich habe etwas suchen müssen, um die Beschriftung „Thumbnails“ in der genialen TYPO3 Galerie Extension rgsmoothgallery umbenennen/ändern zu können. Dann fand ich gleich zwei Fundstellen im Netz mit Lösungen. www.typo3.net und www.typo3forum.net.

    Hier eine kurze Zusammenfassung:

    Originalbeschriftung der Vorschaubilder in der TYPO3 Extension rgsmoothgallery: „Thumbnails“
    Originalbeschriftung der Vorschaubilder in der TYPO3 Extension rgsmoothgallery: Thumbnails

    Um nun die Thumbnail Beschriftung „Thumbnails“ der TYPO3 Extension rgsmoothgallery anzupassen, muss man folgende Zeile Typoscript dem Setup seines TYPO3 Templates hinzufügen:

    plugin.tx_rgsmoothgallery_pi1._LOCAL_LANG.de.textShowCarousel = Angepasste Beschriftung

    Angepasste Beschriftung der Vorschaubilder in der TYPO3 Extension rgsmoothgallery: „Angepasste Beschriftung“
    Geänderte Beschriftung der Vorschaubilder in der TYPO3 Extension rgsmoothgallery: "Angepasste Beschriftung"

  • TYPO3 Extension tt_news: Uhrzeit nicht anzeigen, wenn keine Zeit festgelegt wurde. Anzeige der Uhrzeit 00:00 unterdrücken.

    Bei einem Projekt sollte die TYPO3 Extension tt_news für die Anzeige von Terminen verwendet werden. Dabei sollte das Erstelldatum als Datum eines Termins missbraucht werden. Da aber nicht jeder Termin eine Uhrzeit hatte, kam es zu dem unschönen Effekt, dass bei einem Termin ohne Zeitangabe die Uhrzeit immer mit 00:00 angezeigt wurde. Eine Webrecherche ergab, dass schon verschiedene andere das gleiche Problem hatten, aber eine Lösung nicht zu finden war. Den Zeitplatzhalter generell aus dem Template zu entfernen war keine Lösung, da ja bei Terminen mit einer Zeitangabe die Uhrzeit angezeigt werden sollte. Die Lösung musste also folgendermaßen aussehen: Wenn bei einem Newsartikel (Termin) eine Uhrzeit festgelegt wird, soll diese angezeigt werden. Wenn keine Uhrzeit festgelegt wurde, bzw. die Uhrzeit auf 00:00 steht, dann soll keine Uhrzeit angezeigt werden.

    tt_news Anzeige mit Uhrzeit 00:00
    Anzeige mit Uhrzeit 00:00
    tt_news ohne Uhrzeit 00:00
    Anzeige ohne Uhrzeit 00:00

    Nach einigem Probieren erreichte ich mit folgenden Typoscript-Zeilen den gewünschten Effekt.

    #List Anzeige
    plugin.tt_news.displayList.time_stdWrap.strftime = %H:%M Uhr
    plugin.tt_news.displayList.time_stdWrap.wrap = – |
    plugin.tt_news.displayList.time_stdWrap.if.value.field = datetime
    plugin.tt_news.displayList.time_stdWrap.if.value.strftime = %H:%M
    plugin.tt_news.displayList.time_stdWrap.if.equals = 00:00
    plugin.tt_news.displayList.time_stdWrap.if.negate = 1
    #Latest Anzeige
    plugin.tt_news.displayLatest.time_stdWrap.strftime = %H:%M Uhr
    plugin.tt_news.displayLatest.time_stdWrap.wrap = – |
    plugin.tt_news.displayLatest.time_stdWrap.if.value.field = datetime
    plugin.tt_news.displayLatest.time_stdWrap.if.value.strftime = %H:%M
    plugin.tt_news.displayLatest.time_stdWrap.if.equals = 00:00
    plugin.tt_news.displayLatest.time_stdWrap.if.negate = 1

  • Typo3 Extension Manager (Erw Manager, Ext Manager) wird nicht angezeigt, stattdessen sieht man nur eine leere Seite

    Problem: Nach der Neuinstallation von Typo3 auf einer „frischen“ OpenSuse 10.3 Installation wurde der Typo3 Extension Manager (Erw Manager, Ext Manager) nicht angezeigt. Es war nur eine leere Seite zu sehen.

    Ursache: Ein Blick in die Error-Logdatei von Apache zeigte folgende Meldung:

    PHP Fatal error: Call to undefined function gzfile()

    Dies war ein Hinweis darauf, dass es ein Problem mit dem zlib-Modul von PHP gab.

    Lösung: In der Suse Paketverwaltung von Yast zeigte sich, dass das php5-zlib Modul nicht installiert war. Eine Installation des PHP Moduls und ein Neustart von Apache beseitigte den Fehler mit der leeren Seite statt dem TYPO3 Extension Manager.