簡體   English   中英

Typo3:禁用gridelements流體模板內viewhelper的緩存

[英]Typo3: Disable caching for viewhelper inside gridelements fluid template

我有一個繼承的 typo3 網站(現在運行 10.4.31),它必須是在 2016 年左右創建的,它包含一個自定義 ViewHelper,它有一些基於時間的邏輯(你可以設置倒計時,一旦它過去了,就應該即將發生)。 問題在於,它僅在您登錄、在開發環境中或全局禁用緩存時才有效。

設置是這樣的:

排版:

tt_content.gridelements_pi1.20.10.setup {
    37 < lib.gridelements.defaultGridSetup
    37 {
        cObject = FLUIDTEMPLATE
        cObject {
            file = EXT:myext/Resources/Private/Templates/gridelements/ce/countdown.html
        }
    }
}

模板

<div class="countdown-container">
    {namespace content=My\Ext\ViewHelpers}
    <content:Countdown time="{data.flexform_date}" image="{data.flexform_image}" />
</div>

然后是前面提到的自定義 Viewhelper。

問題是:有沒有辦法告訴 typo3 每次都執行 ViewHelper 的 PHP 代碼而不是緩存? 我用谷歌搜索了很多,但我找到的解決方案都沒有。 我嘗試過的事情包括:

  • <f:cache.disable />添加到 HTML 模板:沒有效果
  • 從 ViewHelper 的compile方法中拋出StopCompilingException :沒有效果(但我可以看到異常被拋出並捕獲)
  • COA_INTUSER_INT添加到打字稿:沒有效果(我可以在 object 瀏覽器中看到它們,但老實說我不知道我是否將它們放在正確的位置)

您可以使用COA_INT容器作為周圍的cObject來禁用此特定 Gridelement 的緩存:

tt_content.gridelements_pi1.20.10.setup {
  37 < lib.gridelements.defaultGridSetup
  37 {
    cObject = COA_INT
    cObject {
      10 = FLUIDTEMPLATE
      10.file = EXT:myext/Resources/Private/Templates/gridelements/ce/countdown.html
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM