【问题标题】:$GLOBALS['TSFE']->set_no_cache() is not working From typo3 version 6.2.17 onwards$GLOBALS['TSFE']->set_no_cache() 不起作用 从typo3 版本 6.2.17 开始
【发布时间】:2016-06-09 07:26:40
【问题描述】:

我在我的扩展中调用了全局“set_no_cache”函数来初始化操作。

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

但不幸的是,从typo3 6.2.17 版开始,它无法正常工作 那么有没有替代的解决方案? 如果您有任何想法,请分享。

【问题讨论】:

  • 我从来不需要这个。你需要那个干什么?
  • 你的扩展是 piBase 还是 extBase?
  • 我的扩展是 extBase。

标签: php typo3 extbase typo3-6.2.x


【解决方案1】:

请注意 set_no_cache 完全禁用 TYPO3 中的任何输出缓存。您在开发时肯定不需要它,也不应该在生产系统中设置它。 您可以控制缓存哪些操作,哪些不在扩展的 ext_localconf.php 中。

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'Vendor' . $_EXTKEY,
    $pluginName
    $controllerActionCombinations,
    $uncachedActions
);

基本上,您只需在 $controllerActionCombinations$uncachedActions 中声明您的控制器操作,以设置它们是否被缓存。查看此参考页面了解更多信息:https://docs.typo3.org/typo3cms/ExtbaseFluidBook/b-ExtbaseReference/Index.html

如果您确实需要将系统置于不可缓存模式,我发现在您的设置中将其作为 Typoscript 条件绑定到开发上下文是一种很好的做法,如下所示:

[applicationContext = Development]
    config.no_cache = 1
[end]

在此处了解有关应用程序上下文的这些条件的更多信息:http://usetypo3.com/application-context.html

【讨论】:

  • 很好的评论,很好的信息来源。我不知道那个。在答案中更新。
  • 不错。但你并没有把它变成一个链接;)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-07
  • 2020-08-27
  • 2021-06-18
相关资源
最近更新 更多