Wir haben natürlich nicht für alles eine Lösung. Aber an Problemen, über welche wir selber schon gestolpert sind, müssen sich andere ja nicht auch noch die Zähne ausbeissen.

Wer mit dem TYPO3 Newssystem tt_news arbeitet wird das Problem kennen. Neue Newsartikel und Änderungen an schon vorhandenen Artikeln brauchen immer eine gewisse Zeit, bis sie auf der Webseite aktualisiert werden. Schuld daran ist der TYPO3 Cache  (TYPO3 Speicher) . Durch diesen Umstand bekommen wir des öfteren Anfragen von Kunden, wieso die Änderungen auf der Seite nicht sichtbar sind.

Eine Variante ist, den TYPO3 Cache (TYPO3 Speicher) manuell zu löschen, wenn die Newsanzeige auf der Webseite noch nicht auf dem aktuellsten Stand ist. Dies lässt sich mit dem gelben Blitz-Symbol in der oberen Seitenleiste bewerkstelligen. Diese Lösung ist aber für Kunden verständlicherweise nicht befriedigend. Wer einen News-Artikel erfasst oder bearbeitet, der erwartet, dass dieser auf der Seite auch sofort aktualisiert wird.

Die Lösung: Das automatische Löschen des tt_news Caches

Durch einen kleinen Code lässt sich TYPO3 so konfigurieren, dass der Cache bestimmter (oder aller) Seiten automatisch gelöscht wird, sobald im News-Ordner eine Änderung gemacht wird.  Dieser Code wird in die Seiten-TSconfig des News-Ordners geschrieben (zu erreichen über die Seiteneigenschaften des Ordners). Will man nur den Cache von bestimmten Seiten löschen, kann folgender Code verwendet werden:

# Löscht Seitencaches der angegebenen Seiten automatisch bei Neuerstellung oder Änderung von Newseinträgen TCEMAIN.clearCacheCmd = 1,2,3,4

Die aufgelisteten Zahlen sind dabei die Seiten-ID’s der gewünschten Seiten.

Alternativ kann auch der Cache aller Seiten gelöscht werden. Dafür kann der Code folgendermassen abgeändert werden:

# Löscht Seitencaches aller Seiten automatisch bei Neuerstellung oder Änderung von Newseinträgen TCEMAIN.clearCacheCmd = all

Die Lösung funktioniert noch nicht für Backend-Benutzer

Leider sind wir damit noch nicht am Ende. Der Code funktioniert zwar für Admin-Benutzer, nicht aber für normale Redakteure (Backend-Benutzer). Hier bedarf es einer zusätzlichen Anpassung, damit der Code auch für eine bestimmte Benutzergruppe oder einen bestimmten Benutzer  wirksam wird. Dazu müssen wir zusätzlich das TSconfig Feld der Benutzergruppe (oder des Benutzers, falls es nur für einen bestimmten Benutzer gelten soll) mit folgendem Code ergänzen:

options.clearCache.pages = 1 options.clearCache.all = 1 

Damit wird der Speicher für alle gewünschten Benutzer automatisch gelöscht.

Share This