Url 中的 TYPO3 Extbase 参数被忽略。没有调用任何动作

TYPO3 Extbase Parameters in Url get ignored. No action is called

我正在编写一个检查浏览器版本的扩展程序,如果不支持该版本,则会显示提示。 我正在使用打字错误条件执行此操作,到目前为止效果很好。但在提示中是 link 表示忽略。 link 应该在控制器 "BrowserCheck" 中调用我的操作 "setSessionParameters"。如果单击 link,则会调用正确的 url,但会显示与之前相同的输出(提示)。该动作被完全忽略。我试图加入一个不存在的动作,但甚至没有调用异常,这对我来说意味着:没有检查 ext_localconf 中是否允许问题,也没有在控制器中检查。 我认为 typoscript 配置可能是个问题,但我找不到解决方案。谁能帮忙? 请在下面查看我的代码

ext_localconf.php:

    \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
        'VENDOR.' . $extensionKey,
        'browsercheck',
        [
            'BrowserCheck' => 'setSessionParameter',
        ],
        [
            'BrowserCheck' => 'setSessionParameter',
        ]
    );

page.typoscript:

    page = PAGE
    [session('wcobrowsercheck') == "ignore" || checkInternetExplorer()]
    page{
       //normal setup
    }
    [ELSE]
    // called setup for hint-case
    page >
    page = PAGE
    page{
        typeNum = 0
        shortcutIcon = {$files.favicon.path}
        10 = FLUIDTEMPLATE
        10 {
          templateRootPaths {
              0 = EXT:my_extension/Resources/Private/Templates/BrowserCheck
          }
          layoutRootPaths {
              0 = EXT:my_extension/Resources/Private/Layouts/BrowserCheck
          }

          templateName = MainPage
          }
          includeCSS {
            ...
           }
     }
     [END]

link 在模板中调用:

    <f:link.action controller="BrowserCheck" action="setSessionParameters" extensionName="my_extension" pluginName="browsercheck" arguments="{ignore: 'true'}"> ignore </f:link.action>

我发现您的设置有 2 个问题。

  1. 您定义了 PAGE 对象两次。第二次擦除所有以前的配置
  2. 我看不到你在页面上放置了插件。

由于您的问题针对的是第二个问题,如果您希望该插件随处可用,我建议您通过打字错误将插件添加到页面。

page = PAGE
// ...
page.999 < tt_content.list.20.extkey_pluginname

或者您使用放置在页面上的插件作为内容元素。两者都会起作用。但是在当前设置下您无法调用该插件,因为它不在页面上。