TYPO3 News-Beiträge, Zeitung mit Brille

TYPO3: Speichern und Anzeigen für News-Einträge

Das Problem: News-Einträge anlegen und ansehen

Der gewöhnliche Ablauf eines Redakteures bei der Erstellung eines „News“-Beitrages in TYPO3 sieht folgendermaßen aus: Der Redakteur legt eine neue News an, ruft die Listenansicht auf, bedient eventuell zur Hilfestellung die Suchfunktion, um dann endlich den soeben erstellten Beitrag aufrufen und die gewünschte Darstellung überprüfen zu können.

Und diesen Vorgang müsste der Redakteur dann bei jeder Änderung wiederholen – sehr zeitaufwändig und umständlich.

Speichern und Anzeigen, bitte!

Abhilfe schafft hier das neue preview Objekt, das mit der Version TYPO3 7.2 (FEATURE #66370) dem TCEMAIN PageTS hinzugefügt wurde. Die Feature-Beschreibung erläutert die Verwendung des preview Objekts wie folgt:

TCEMAIN.preview {
        <table name> {
                previewPageId = 123
                useDefaultLanguageRecord = 0
                fieldToParameterMap {
                        uid = tx_myext_pi1[showUid]
                }
                additionalGetParameters {
                        tx_myext_pi1.special = HELLO # results in tx_myext_pi1[special]
                }
        }
}

 

Speichern und Anzeigen bei News

TYPO3 Speichern und Anzeigen bei News

Um diese Funktion der News-Erweiterung hinzuzufügen, werden nur ein paar Zeilen PageTS benötigt. Diese werden dem Systemordner hinzugefügt, der die News-Datensätze enthält.

 

TYPO3 Speichern und Anzeigen: PageTS hinzufügen

Das PageTS sieht dabei für TYPO3 8 wie folgt aus:

TCEMAIN.preview {
        tx_news_domain_model_news {
                useCacheHash = 1
                previewPageId = 8
                useDefaultLanguageRecord = 0
                fieldToParameterMap {
                        uid = tx_news_pi1[news_preview]
                }
                additionalGetParameters {
                        tx_news_pi1.controller = News
                        tx_news_pi1.action = detail
                }
        }
}

 

Hier ein paar Erklärungen, wie sich der PageTS aufschlüsseln lässt:

  • useCacheHash sorgt dafür, dass der cHash Parameter an die aufgerufene URL angehangen wird (erst ab TYPO3 8 nötig und möglich)
  • bei der previewPageId handelt es sich um unsere Detailseite – eben jene, auf der sich die Detailansicht der News-Extension befindet. Lässt man diese Angabe aus, wird die aktuelle Seite verwendet. Da wir uns aber in der Regel in einem Systemordner befinden, würde das nicht funktionieren
  • useDefaultLanguageRecord = 0 ermöglicht die Berücksichtigung der Sprache
  • unter additionalGetParameters werden die notwendigen URL Parameter für den Plugin-Aufruf angegeben

Ausblick

Diese Funktion kann. wie oben beschrieben, nicht nur für die News-Extension genutzt werden, sondern von grundsätzlich allen Extbase-Erweiterungen. Dadurch können eigene Erweiterungen um den Speichern- und den Ansehen-Button ergänzt werden. Auch die bestehende Speichern- und Ansehen-Funktionalität bestehender Inhaltselemente kann dadurch angepasst werden.

Über Anregungen oder Fragen zu dem Thema News-Extensions, freuen wir uns über zahlreiche Kommentare oder nehmen Sie gerne Kontakt mit uns auf.

  • 10/08/2020

    Kommentar von Markus

    Das funktioniert bei mir nur bedingt.
    Wenn die news hidden ist, bekomme ich keine Anzeige.
    In TYPO3 9 funktioniert das feature garnicht mehr.

    • 14/08/2020

      Kommentar von Marc

      Hallo Markus,

      danke für deinen Kommentar. Ich habe gerade nochmal in einer TYPO3 9.5.20 nachgeschaut, da funktioniert das Feature wie beschrieben. Aber du hast Recht, bei deaktivierten Nachrichten kommt ein 404-Fehler. Das könnte man im TYPO3 Forge melden.

      Viele Grüße,
      Marc

  • 29/06/2022

    Kommentar von Leonhard

    Hallo Marc,

    auch, wenn der Beitrag etwas älter ist. In Typo3 10.4 ist die Einstellung weiterhin möglich(auch bei hidden). Ein Redakteur wünschte sich nämlich diese Option. Wichtig ist aber, dass man in der setup.t3s noch diese Einstellungen vornimmt.

    plugin.tx_news.settings.previewHiddenRecords = 2
    plugin.tx_news.settings.enablePreviewOfHiddenRecords = 1

    Standardmäßig sind diese Parameter NULL Dann haut der Controller nämlich weiterhin eine Fehlermeldung raus.

    VG

    • 08/08/2022

      Kommentar von Marc

      Hallo Leonhard,

      vielen Dank für deinen Beitrag. Wir nutzen die Funktion auch in aktuelleren TYPO3-Projekten.

      LG

Kommentar hinzufügen

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