【问题标题】:TYPO3 - Deactivating cHash in own extension - 8LTSTYPO3 - 在自己的扩展中停用 cHash - 8LTS
【发布时间】:2018-06-09 01:13:14
【问题描述】:

我正在尝试在我的扩展程序中停用 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]';

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

【问题讨论】:

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


    【解决方案1】:

    在模板中构建链接时,您需要停用 cHash。如果使用 ViewHelper &lt;f:link.action&gt;,则需要设置属性noCacheHash="1"

    【讨论】:

    • 在 9 LTS 中不起作用。此外,“plugin.tx_ext.features.requireCHashArgumentForActionArguments = 0”不起作用。仍然使用 获得 cHash
    【解决方案2】:

    对于 TYPO3 9 和 10

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

    比如你的链接是这样的

    <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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多