[Frage] Cache Problem bei eigenem ViewHelper Fluid Template

  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    11. 03. 2016, 11:22

    Hallo Zusammen,

    oben genanntes Problem beschäftigt mich nun schon seit einiger Zeit, ohne dass ich einer Lösung wirklich näher gekommen bin.

    Ausgangslage:

    Ich habe eine Event Extension zur Anzeige von Veranstaltungen. Diese Veranstaltungen werden in einer Listenansicht nach Datum (Datetime Feld) aufsteigen, also 01.01 - 31.12, sortiert. Zur besseren Übersicht möchte ich nun das ganze nach Monaten gruppieren.

    Der ViewHelper f:groupedFor kann hier nicht genutzt werden, da ich hier nur ein Gruppierfeld angeben kann. Hier das Datum Feld anzugeben, hilft also nicht weiter. Da dieses Probleme schon andere hatte, hat auch gleich jemand einen ViewHelper geschrieben und auf GitHub zur Verfügung gestellt *freu*

    [url]https://gist.github.com/daKmoR/1287203[/url]

    Das funktioniert soweit auch wunderbar.

    Wenn ich nun die Seite mit den Veranstaltungen aufrufe bekomme ich eine nach Montane gruppierte Liste aller Veranstaltungen. Wenn ich die Seite aber nun ein weitere mal aufrufe (z.B. durch Reload) bleibt der Bereich des ViewHelpers leer.

    Ich habe herausgefunden, dass der ViewHelper beim zweiten Aufruf der Seite scheinbar komplett ignoriert wird, was scheinbar irgendetwas mit dem cache zu tun hat.

    Ob ich nun den Cache der Seite im Backend oder des Plugins über die ext_localconf.php für diese Action den Cache deaktivierte, ob ich den Allgemeine oder den Front-End Cache lösche (der Blitz) interessiert typo3 genauso wenig als oder ob im Atlantik ein Hai wendet. Nur wenn ich über das Installtool -> "Clear all caches" den gesamten Cache lösche, wird der Viewhelper wieder berücksichtigt - aber auch nur beim ersten Aufruf der Seite.

    Hat für dieses Problem jemand eine Lösung? oder kann mir Vorschläge für meine Fehlersuche machen. Danke im Voraus.

    Gruß

    Alexander


  • 1
  • aemka aemka
    Jedi-Ratsmitglied
    0 x
    562 Beiträge
    9 Hilfreiche Beiträge
    07. 04. 2016, 11:44

    Bei TYPO3 7 kann es manchmal nötig sein, den Ordner typo3temp/autoload/ manuell zu löschen, falls Klassen / ViewHelper nicht gefunden / ausgeführt werden. Ist aber schwer zu sagen, worum es sich hier konkret dreht ohne nähere Einblicke zu haben. Immer sinnvoll ist es aber auch mal temporär das Development Preset im Install Tool zu aktivieren und zu schauen, ob php-Fehler bestehen. Auch könntest du mal den Teil im Template mit folgendem ViewHelper umschließen, der den Cache an dieser Stelle dann deaktiviert: https://fluidtypo3.org/viewhelpers/vhs/master/Render/UncacheViewHelper.html Vlt. kommt man so der eigentlichen Ursache näher.

    http://www.aemka.de/

  • febo febo
    Sternenflotten-Admiral
    0 x
    187 Beiträge
    0 Hilfreiche Beiträge
    14. 04. 2016, 11:37

    Hi aemka,

    vielen Dank erstmal für Deine Antwort.

    Ich hatte meinen Content im einen eigenen ViewHelper durch die FuncKion "render" ausgeben lassen. Anscheinend muss der Content aber über die Funktion renderStatic gerendert werden.

    Nun ruft die Funktion "render" die Funktion "renderStatic" auf und rendert den Content. Seither ist der Content des eigenen ViewHelpers auch nach einem Reload der Seite noch vorhanden.

    Ich muss mich intensiver mit dem neuem System MVC, extbase, fluid etc. befassen. Da macht man mal ein Jahr Pause und dann? Alles anders ;)

    Gruß

    Alexander

  • 1