[TYPO3-german] fluid-ViewHelper: Condition von Caching ausschließen
Christian Essl
essl at incert.at
Thu Nov 24 09:48:03 CET 2011
So, die Sache mit den Typoscript-Conditions hat mich jetzt auf die Idee für einen Workaround gebracht. Einfach die im Fluid-Template angewendete Condition noch einmal in Typoscript-Form leer anlegen:
[userFunc = user_isMobile()]
[else]
[global]
Damit weiß jetzt auch das Caching-Framework, dass zwischen den beiden Versionen unterschieden werden soll. - Bleibt aber natürlich ein Workaround. Am besten wärs, das noch mit FLUIDTEMPLATE alleine irgendwie hinzukriegen...
-----Ursprüngliche Nachricht-----
Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Christian Essl
Gesendet: Donnerstag, 24. November 2011 08:31
An: typo3-german at lists.typo3.org
Betreff: [TYPO3-german] fluid-ViewHelper: Condition von Caching ausschließen
Hallo,
ich arbeite mich momentan mit dem FLUIDTEMPLATE-cObjekt ein und bin auf ein Caching-Problem gestoßen, auf das ich momentan keine Antwort weiß. Es geht um eine vom if-ViewHelper abgeleitete Condition zur Erkennung zwischen Mobil/Desktop-Geräten. Der Code ist sehr einfach gehalten und funktioniert soweit:
public function render() {
if(-various checks about the user agent etc. -)
{
return $this->renderThenChild();
}
else
{
return $this->renderElseChild();
}
}
<custom:ifMobile>
<f:then>
<f:render partial="mobile" arguments="{_all}" />
</f:then>
<f:else>
<f:render partial="desktop" arguments="{_all}" />
</f:else>
</custom:ifMobile >
Allerdings wird diese Condition nun nicht vom TYPO3-Caching-Framework berücksichtigt. Wenn ich also z.B. die Seite mit einem Desktop-Browser ansteuere, werden auch für die Mobilgeräte die Desktop-Versionen aus dem Cache geholt und umgekehrt. Aber wie teile ich TYPO3 nun mit, dass es zwischen den beiden Ergebnissen dieser Condition unterscheiden soll? In Typoscript werden die mit []-Klammern gesetzten Conditions ja auch vom Caching-Framework berücksichtigt.
Der einzige Weg, Caching bei extbase und fluid auszuschalten, den ich kenne, wäre über die Tx_Extbase_Utility_Extension::configurePlugin-Methode. Da ich aber keine Extension, sondern nur ViewHelper für das FLUIDTEMPLATE verwende, geht das natürlich nicht.
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
More information about the TYPO3-german
mailing list