没有缓存的TYPO3插件

时间:2016-11-23 10:13:25

标签: caching typo3 fluid extbase

我已经使用Extbase / Fluid编写了一个扩展程序,这个扩展程序有一个插件:

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'MyVendor.' . $_EXTKEY,
    'Pi1',
    array(
        'MyController' => 'list'
    ),
    // non-cacheable actions
    array(
        'MyController' => 'list'
    )
);

但是在创建链接时

<f:link.action arguments="{foo: 'bar'}">...</f:link.action>

生成的url有一个cHash参数:

http://localhost/mypage/?tx_myext_pi1[foo]=bar&cHash=d1768a40d9370f7a8d327043da156a05

为什么呢?我将此插件定义为&#34;不缓存&#34;所以应该没有cHash参数。

TYPO3版本是7.6.12。

2 个答案:

答案 0 :(得分:2)

cHash参数不用于缓存您的内容,而是用于缓存网址中的参数,因此它与缓存的操作本身无关。

如果您的操作被缓存,并且在更改模板或代码时没有看到任何更改,则可能是您更改了操作的缓存设置,并且仍然缓存了localconf。在这种情况下,您必须在安装工具中清除系统缓存,或者卸载并安装扩展程序。

答案 1 :(得分:1)

要删除cHash参数,您可以使用f:link ViewHelper参数noCacheHash

<f:link.action arguments="{foo: 'bar'}" noCacheHash="true">...</f:link.action>

cHash不仅用于您的插件。对于页面的其余部分(布局等),如果你有一个参数,TYPO3总是设置一个cHash。

如果您使用RealURL,如果您已在网址中映射了所有参数,则cHash会消失。