[LÖSUNG] @cyberman: Bug und Probleme mit ccache
Posted: Fri Feb 08, 2008 10:25 am
Hi cyberman,
habe mich in den letzten Tagen für den Relaunch meiner Website mit dem Theme CMS ms und Caching beschäftigt und bin dabei über das Plugin ccache gestolpert. Dieses hat zumindest bei mir ein gravierendes Problem:
Es führt bei "dynamisch" generierten Inhalten, wie zB der Fehlermeldungsseite eines mit FormBuilder erstellten Formulars zu etlichen Fehlermeldungen.
Mein erster Lösungsansatz war es diese speziellen Seiten in ein extra Template zu packen, welches das normale {content} enthält. Diese Lösung gefällt mir wegen der Redundanzen nicht wirklich. Also dachte ich mir, wieso die Sache nicht einfach über eine Smarty-Bedingung lösen.
{if !$smarty.request.mact}
{ccontent lifetime='3600'}
{else}
{content}
{/if}
Diese würde einfach bei jeder nicht "statischen" Seite, die ja am Existieren der mact-Angabe zu erkennen sind, das normale content-Tag verwenden.
Leider hast Du einen Programmierfehler in ccontent, der diese Lösung verhindert. In Zeile 53 müsste anstatt des include-Befehls ein require_once($plugin); stehen.
Ansonsten kommt es nämlich zu einer Fehlermeldung über eine erneute Deklaration von content, die Dir auch im englischen Teil des Forums mitgeteilt wurde. Dieser Fehler tritt immer dann auf, wenn im Template sowohl ccontent, als auch content genutzt werden (egal ob mit Bedingung oder einfach parallel).
Ich würde also verschlagen die genannte Zeile zu korrigieren und in der Plugin-Hilfe eine Einbindung mit obigem Smarty-Schnipsel zu empfehlen.
Grüße aus Nürnberg
LeisureLarry
habe mich in den letzten Tagen für den Relaunch meiner Website mit dem Theme CMS ms und Caching beschäftigt und bin dabei über das Plugin ccache gestolpert. Dieses hat zumindest bei mir ein gravierendes Problem:
Es führt bei "dynamisch" generierten Inhalten, wie zB der Fehlermeldungsseite eines mit FormBuilder erstellten Formulars zu etlichen Fehlermeldungen.
Mein erster Lösungsansatz war es diese speziellen Seiten in ein extra Template zu packen, welches das normale {content} enthält. Diese Lösung gefällt mir wegen der Redundanzen nicht wirklich. Also dachte ich mir, wieso die Sache nicht einfach über eine Smarty-Bedingung lösen.
{if !$smarty.request.mact}
{ccontent lifetime='3600'}
{else}
{content}
{/if}
Diese würde einfach bei jeder nicht "statischen" Seite, die ja am Existieren der mact-Angabe zu erkennen sind, das normale content-Tag verwenden.
Leider hast Du einen Programmierfehler in ccontent, der diese Lösung verhindert. In Zeile 53 müsste anstatt des include-Befehls ein require_once($plugin); stehen.
Ansonsten kommt es nämlich zu einer Fehlermeldung über eine erneute Deklaration von content, die Dir auch im englischen Teil des Forums mitgeteilt wurde. Dieser Fehler tritt immer dann auf, wenn im Template sowohl ccontent, als auch content genutzt werden (egal ob mit Bedingung oder einfach parallel).
Ich würde also verschlagen die genannte Zeile zu korrigieren und in der Plugin-Hilfe eine Einbindung mit obigem Smarty-Schnipsel zu empfehlen.
Grüße aus Nürnberg
LeisureLarry