[TYPO3-german] fluid-ViewHelper: Condition von Caching ausschließen
Christian Essl
essl at incert.at
Thu Nov 24 08:31:17 CET 2011
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.
More information about the TYPO3-german
mailing list