[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