TYPO3 通过

问题描述 投票:0回答:1

在我的扩展中,我在

constants.typoscript
中定义了常量值。

menu {
    # cat=menu; label=uid of submenu folder
    submenuId = -1
    # cat=menu; label=entry url
    entryUrl = /
}

search {
    # cat=search; label=navigation entry
    entryId = -1
}

现在我写了一个

ActionController

我想我必须通过

$this->configurationManager
获取值,但这似乎是空的。

我也看过这个问题,但这已经过时了

有了那个弃用说明我想出了这个:

$backendConfiguration = GeneralUtility::makeInstance(ExtensionConfiguration::class)->get('menu');

但这仅适用于值“后端”。

我错过了什么吗?

致以诚挚的问候

阴茎4142

php typo3
1个回答
0
投票

所有前端插件的TypoScript都可以在typoscript块中设置:

plugin.tx_[小写扩展名]

请参阅此处的手册:
https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ExtensionArchitecture/Extbase/Reference/TypoScriptConfiguration.html#typoscript-configuration

假设您的扩展名为 my_cool_extension。然后你需要添加一个打字稿设置文件:

setup.typoscript

您可以像这样访问常量:

plugin.tx_mycoolextension {
    settings {
        menu = {$menu}
    }
}

现在您可以访问扩展程序的所有控制器和流体模板中的设置。

在控制器中像这样:

$this->settings['menu']

在这样的流体模板中:

{settings.menu}

查看手册以获取更多选项,例如将设置传递给特定的前端插件。

© www.soinside.com 2019 - 2024. All rights reserved.