2011-03-15 52 views
8

我是typo3的初學者,我已經對Kickstarter進行了擴展,並且希望僅對此擴展禁用緩存,而不是針對我的typo3網站的其他頁面。Typo3 - 爲擴展禁用緩存

我該怎麼做?

非常感謝。

回答

3

還禁止或限制緩存時間在每個頁面的基礎上可能是一個解決方案 的設置下pageicon編輯 - >選項卡的行爲? - >緩存設置 (在no_cache = 1 URL參數)

另一種方法是清除緩存時的數據是在一個系統夾改變 /設置在其TS頁面配置的自動清除用於單頁 TCEMAIN.clearCacheCmd = 1,3,5 - 數字pid逗號分隔 TCEMAIN.clearCacheCmd =全部或清除cach Ë所有

http://typo3blog.at/blog/artikel/typo3-caching-grundlagen/

http://typo3weblog.de/2008/07/26/tcemainclearcachecmd-statt-clear-cache-button/

+1

正如其他答案中所述 - 在頁面屬性中禁用緩存可導致該頁面的完全緩存解除,而不僅僅是擴展本身。 – Krystian 2012-09-18 17:33:49

1

使用$GLOBALS['TSFE']->set_no_cache()will disable caching對於整個頁面

如果要禁用頁面緩存,請調用函數$GLOBALS["TSFE"]->set_no_cache()。在開發過程中調用它!如果您創建的內容可能無法緩存,請調用它。

Other sources是說明性的。

相反,請確保您的分機類型爲USER_INT,參見參考資料。 the docs

$this->pi_USER_INT_obj = 1; 
+1

這並沒有解決所有問題,您仍然需要更改您的ext_localconf.php,如其他答案中所述。 – cweiske 2011-05-13 09:13:09

24

您需要注意三個位置。首先看看你的ext_localconf.php文件。對於每一個插件(插件通過我的意思是前端插件)有類似這樣的一行:

t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 1); 

要禁用,你需要的最後一個值設置爲零,這樣的高速緩存。

t3lib_extMgm::addPItoST43($_EXTKEY, 'pi1/class.tx_yourext_pi1.php', '_pi1', 'list_type', 0); 

在插件的PHP文件(例如,PI1/class.tx_yourext_pi1.php),你需要確保下面的行要麼刪除,註釋或更改爲「假」

$pi_checkCHash = true; 

在最後,將此行添加到main()函數(其他地方的某處):

$this->pi_USER_INT_obj = 1; 

應該這樣做。

銅 羅馬

+0

你對ext_localconf.php文件的建議剛剛修復了一些令我對aaaa癡迷的東西...... – 2012-06-05 11:35:34

0

讓我們更新更近的信息這個問題適用於TYPO3 CMS對6.0.x-6.2.x中在寫這篇文章的時間。如果您有一個尚未開啓的開發站點,我使用了FluidTYPO3 team所做的uncache擴展。很高興能夠完全禁用緩存,直到您得到錯誤,因此您不會每2秒清除一次緩存。

-3

使用下面的腳本。

$GLOBALS['TSFE']->set_no_cache() 

上面的腳本可以在控制器文件中使用。

+1

這將禁用整個頁面緩存。不要使用它。 – fnagel 2017-10-24 09:07:45