【发布时间】:2017-08-18 14:22:28
【问题描述】:
我正在开发一个 TYPO3 项目,我必须根据条件动态禁用缓存。这是一个非常具体的用例,不会经常发生。
我计划使用 USER_INT 函数,我将在其中执行检查并在必要时禁用缓存。 USER_INT 函数完美运行,每次页面加载时都会调用它。
问题是,我不能禁用缓存,或者至少我不知道怎么做。
代码,我现在有:
page = PAGE
page {
typeNum = 0
adminPanelStyles = 0
11 = USER_INT
11.userFunc = [COMPANY_NAMESPACE]\PageHandler->checkCache
在函数中我执行检查:
public function checkCache($content,$conf){
global $TSFE;
$id = $TSFE->id;
if($this->checkIfDisableCache($id)){
//$TSFE->set_no_cache(); // <---- first I tried this one
$TSFE->no_cache=true; // <-----after a while I got despoerate and tried to disable it directly
}
}
我也尝试过使用配置,但没有成功。 有趣的是,如果我直接在打字稿中设置它:
config.no_cache = 1
它可以工作,但是由于检查相当复杂,我想使用 PHP 来确定是否应该禁用缓存。
我知道我做错了什么,我只是不知道是什么。任何帮助将不胜感激:)
【问题讨论】: