TYPO3 - 在自己的扩展中停用cHash - 8LTS

时间:2017-12-28 13:23:32

标签: typo3 typo3-8.x typo3-extensions

我试图在我的扩展程序中停用cHash ... show动作的链接如下所示:

/?tx_abc_abc[record]=1&tx_abc_abc[action]=show&tx_abc_abc[controller]=Abc&cHash=10c78febea3ae5dsdf535fb36ca6d08

在ext_localconf.php中,我试图像这样停用cHash:

ext_localconf.php

<?php
if (!defined('TYPO3_MODE')) {
    die('Access denied.');
}

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
    'Vendor.' . $_EXTKEY,
    'Abc',
    array(
        'Abc' => 'list,show',

    ),
    // non-cacheable actions
    array(
        'Abc' => 'list,show',

    )
);

$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash']['excludedParameters'][] = 'tx_abc_abc[record],tx_abc_abc[action],tx_abc_abc[controller]';

虽然它不起作用。我错过了什么?

2 个答案:

答案 0 :(得分:4)

在模板中构建链接时,需要停用cHash。如果您使用的是ViewHelper p.CostCenterID,则需要设置属性<f:link.action>

答案 1 :(得分:2)

对于TYPO3 9

  

我们需要做的就是配置不需要的参数   你的计算力

例如,您的链接就是这样

<f:link.action action="detail" 
        additionalParams="{
            tx_plugin_action:{
               param1:1, param2:2, param3: 3
            },
            param4: 4
        }">Link Text</f:link.action>

然后,您必须排除Localconfiguration.php中的所有参数

'FE' => [
    'cacheHash' => [
        'excludedParameters' => [
            'tx_plugin_action[param1]',
            'tx_plugin_action[param2]',
            'tx_plugin_action[param3]',
            'param4',
        ],
    ],
]
  

其他:请记住,如果没有任何参数   包含在此处,它将计算并生成chash

     

注意:此处,我们无需在viewhelper中明确设置noCacheHash =“ 1”