iCagenda: Caching der Website verhindert Navigation voriger / nächster Monat und voriges / nächstes Jahr

  • Ich verwende iCagenda als Modul und platziere es mittels YooTheme Pagebuilder in einer Webseite. Leider funktioniert die Navigation zwischen den Monaten und den Jahren nicht. Nach etwas Recherche im Web fand ich heraus, dass eine Französin das gleiche Problem hat und es versucht hat, im Forum von YooTheme zu klären. Dort wurde es aber nicht geklärt. So weit, wie ich die dortige Erklärung (englisch) verstanden habe, werden alle Inhalte, die im Rahmen eines Artikels von Joomla ausgeliefert werden, gecached. Und weil das Icagenda-Modul im Artikel platziert ist, wird es genau so behandelt. Dann verhindert das Caching, dass sich Werte ändern z.B. durch die Navigation zwischen Monaten.


    YooTheme Support empfahl nun, iCagenda außerhalb eines Artikels auf eine der üblichen Modul-Positionen zu setzen. Die Französin antwortete dann aber, dass es dann ebenfalls nicht funktionieren würde mit der Navigation.


    Meine Frage nun in die Runde hier: Gibt es eine Möglichkeit, bestimmte Daten in einer Webseite (nämlich die von iCagenda stammen), vom Caching auszunehmen? Und wenn ja, wie macht man das?

  • Wer oder was cachet denn da? Joomla (und da welche Cacheinstellungen?) oder Yootheme oder ...?


    Mit normalen Cacheeinstellungen (KOnfiguration), haben Module normalerweise Einstellmöglichkeiten, wenn sie nicht gecachet werden sollen.


    Und das mit Modul im Artikel wird immer gecachet stimmt so nicht. Vielleicht mit Yootheme, aber nicht generell.

  • Es handelt sich eindeutig um den Joomla-Cache, der unter Konfiguration / System eingestellt wird. Setze ich den auf 1 Minute, kann nach Ablauf einer Minute einmal die Monats- oder Jahresnavigation benutzt werden. Nach einer weiteren Minute wieder. Schalte ich den Cache aus, funktioniert der Calendar einwandfrei.

    Ich war inzwischen auf der Muster-Website der Französin. Sie hat in dem zweiten Beispiel, in dem es angeblich ebenfalls nicht funktioniert, den Calender in die Seitenspalte gelegt (.aside). Dann funktioniert der. Sie hat im anderen Beispiel den Kalender, so wie ich ich, in einen YooTheme-Container gelegt. Dann funzt es nicht, weil es im Joomla-Cache blockiert wird.


    Der YooTheme-Support meinte ja auch, dass zwar mit dem Klick auf die Monats- / Jahresnavigation der Vorgang zwar angestoßen wird, aber dennoch der Inhalt des (gleich gebliebenen) Cache ausgeliefert wird und daher keine Änderung für den Besucher angezeigt wird.


    Gerade habe ich auch Joomla "erweitertes Caching" ausprobiert. Das macht den gleichen Fehler. Dann habe ich das Caching ganz deaktiviert und die Netzwerkanalyse von Firefox bemüht: egal ob mit oder ohne Cache, die Laufzeit bis alles geladen ist, bleibt bei 1,28 Sekunden. Und natürlich hatte ich mit Cache-Cleaner AddOn in Firefox den Browsercache jedes Mal gelöscht.


    Frage: Was ist eigentlich der Unterschied zwischen dem Joomla-internen Cache und dem Caching, das ich mittels htaccess aktivieren kann?

  • Doch im Modul gibt es fest vorgegeben die Einstellung, dass nicht gecached wird.


    Ich habe soeben nochmals getestet und konnte nicht sehen, dass sich bei eingeschaltetem Joomla-Cache die Ladezeit der Site verringert. Die meisten Scripte und CSS aber vor allem alle Bilder (= SourceSet) werden bereits über YooTheme komprimiert und gecached, so hat es den Anschein.


    Frage nochmals hier:

    Worin besteht der Unterschied, wenn in Joomla in der Konfiguration das Caching aktiviert wird oder wenn statt dessen in der htaccess das Caching aktiviert wird?


    Und: Wie ist eure Erfahrung betr. Joomla Caching: wird die Website mit aktivem Caching wirklich schneller geladen?

  • Worin besteht der Unterschied, wenn in Joomla in der Konfiguration das Caching aktiviert wird oder wenn statt dessen in der htaccess das Caching aktiviert wird?

    2 Paar Stiefel.


    Caching in Joomla speichert Teile der Seite in Dateien ab, um sie nicht jedes mal neu per PHP generieren zu müssen, sondern aus diesen statischen Dateien neu zusammenzusetzen. Deshalb gibt es ja auch die Möglichkeit in Modulen das Caching für diese Bestandteile einzeln deaktivieren zu können.


    In der .htaccess und oder php.ini gibt es unterschiedlichste Möglichkeiten, die aber eher Browser- und/oder serverseitiges Caching betreffen.

  • OK, vielen Dank für die Klärung!


    Ich habe jetzt ziemlich experimentiert, um das Caching auch mit iCagenda hinzubekommen, auch wenn es in einen Artikel platziert wurde. Es funktioniert nicht mit Joomla, wohl aber mit JCH-optimize. Dabei darf man aber nur die die Cache-Stufe Average oder Intermediate nutzen. Noch mehr Zusammmenfassung / Caching und das Setzen der Scripte an das Ende der Seiten verträgt YooTheme Pagebuilder nicht. Da verschwand bei mir das Hamburger Menü-Icon jedes Mal, wenn man zu einer anderen Seite navigiert war. Lädt man diese Seite dann im Browser per refresh neu wird das Menü-Icon wieder angezeigt.


    YooTheme rät dringend von Caching-Extensions ab. Ich habe aber gerade ausgetestet, dass ich ca. 30% an Ladetempo gewinne, wenn JCH-Optimize auf die o.g. Weise aktiviert wird. Bilder komprimiert YooTheme aber selbstständig in verschiedene Größen und packt sie als SourceSet zusammen. YooTheme cached selbst aber nix!


    Wichtig ist aber, dass iCagenda nun auch mit aktiviertem Caching läuft und wir damit eine Lösung haben.