2016-04-13 18 views
1

VHS(バージョン2.4.0)で1つのランダムイメージを出力しようとしました。RandomViewHelper v:iterator.randomランダム画像(v:iterator.random |キャッシュの問題

これは私のコードです:

{namespace flux=FluidTYPO3\Flux\ViewHelpers} 
{namespace v=FluidTYPO3\Vhs\ViewHelpers} 

    <f:layout name="Content" /> 

    <f:section name="Configuration"> 
     <flux:form id="random-image" label="Random Image" options="{icon: 'Icons/Content/Example.gif', group: 'Joya'}"> 
      <flux:field.input name="classname" label="Classname" /> 
     </flux:form> 

     <flux:form.section name="images" label="Images"> 
      <flux:form.object name="image" label="Image"> 
       <flux:field.file name="imagesrc" label="Image" allowed="png,jpg" maxItems="1" size="1" /> 

      </flux:form.object> 
     </flux:form.section> 

    </f:section> 

    <f:section name="Preview"> 
     Random Image 
    </f:section> 

    <f:section name="Main"> 
     <div class="random-image"> 
     <v:iterator.random as="img" subject="{images}"> 
      {img.image.imagesrc} 
     </v:iterator.random> 

     </div> 
    </f:section> 

私がテストするために3枚の画像を追加しましたが、それは常に同じ画像を出力します。 編集:ランダムの出力がキャッシュされます。したがって、キャッシュがクリアされた後に別のイメージが出力されます。

このコード行だけキャッシュを無効にすることはできますか?

https://fluidtypo3.org/viewhelpers/vhs/2.4.0/Iterator/RandomViewHelper.html

答えて

1

ソリューションは、VHSなViewHelper v:render.uncacheを使用して、キャッシュされてはならない部分と部分的にcreatreすることです。あなたが余分なファイルを必要とするので、最高の解決策ではありません。しかし、今私が考えることができる唯一の他の方法は、いくつかのTyposcriptを使用することです、そして、私は避けたいものもあります。

0

別のアプローチは、真のAJAX呼び出し、ページをキャッシュすることができますこの方法ではなく、ランダムな画像を、画像をロードすることです。

+0

良い回避策になりますか。しかし、私の論理にとっては、これはフロントエンド(clientside)ではなく、バックエンド(serverside)のためのものです。 – nbar