[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