Kategorie: Typoscript

  • 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.

  • 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: 

     

     

     

  • 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"

  • Bei TYPO3 den „div wrap csc-default“ um HTML Inhaltselemente entfernen

    Bei der Umsetzung eines CSS-Entwurfs einer Webseite in TYPO3 störte mich, dass TYPO3 seit der Version 4.3 um jedes Contentelement einen DIV Tag mit der Klasse csc-default legt.
    Normal stört dieser DIV auch nicht – nur wenn man Inhalt an eine Stelle des Templates ausgeben will, die von einem HTML Tag umgeben ist, das keine Blockelemente wie DIV erlaubt. Konkret wollte ich Adressinformationen in einem ADDRESS Tag ausgeben. Dabei entsteht eine ungültige Konstellation, in der ein DIV Blockelement in einem ADDRESS Element eingebettet ist.

    Im Web fand ich verschiedene Lösungsansätze:

    1. Im Template unter include static CSS Styled Content durch CSS Styled Content TYPO3 v4.2 ersetzen.
    2. Entfernen der Wraps um alle Contentelemente

      tt_content.stdWrap.innerWrap >

    Mit beiden Ansätzen konnte ich mich nicht so recht anfreunden. Einerseits will ich nicht immer und ewig TYPO3 4.2 kompatibele statische Templates verwenden, andererseits wollte ich nicht auf die Möglichkeit verzichten, Contentelemente mit Rahmen zu versehen. Diese Möglichkeit hat man nicht mehr, wenn man alle DIV Wraps um die Contentelemente entfernt. Ich habe nach einer Möglichkeit gesucht, selektiv nur bei HTML Inhaltselementen die DIV Wraps zu unterbinden.

    Auf www.typo3forum.net fand ich eine Typoscript Lösung, die genau das tut:

    tt_content.html.prefixComment >
    tt_content.stdWrap.innerWrap.override = |
    tt_content.stdWrap.innerWrap.override.if {
    equals = html
    value.field = CType
    }

  • 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

  • Wie kann man bei dem Typo3-Feature „Klick-vergrössern“ die Größe der vergrößerten Bilder anpassen?

    Als ich in Typo3 ein Bild mit der Funktion „Klick-vergrössern“ vergrößern wollte, war das vergrößerte Bild kleiner als das Orginalbild. Auf der Weboberfläche fand ich keine Option, wo ich die Größe des vergrößerten Bild einstellen konnte.

    Auf www.typo3-tutorials.org fand sich die Lösung des Problems.

    Um die Maximalgröße der vergrößerten Bilder zu definieren, ist TypoScript notwendig. Im Constants Editor

    kann man mit folgenden Zeilen die Größe des vergrößerten Bildes festlegen:

    styles.content.imgtext.linkWrap.width = 500
    styles.content.imgtext.linkWrap.height = 500

    Die angegebenen Werte sind Maximalwerte. Die Bilder werden proportional skaliert und nicht verzerrt.