TYPO3 9.5包括所有后端页面的TypoScript文件

时间:2019-05-24 19:30:31

标签: typo3 typo3-9.x

我确实编写了一个带有后端模块的Typo3扩展,称为“ locationgallery”。该后端模块应使用以下TypoScript配置。

module.tx_locationgallery_web_locationgallerylocationgallerybe {
    view {
        templateRootPaths.0 = EXT:locationgallery/Resources/Private/Backend/Templates/
        partialRootPaths.0 = EXT:locationgallery/Resources/Private/Backend/Partials/
        layoutRootPaths.0 = EXT:locationgallery/Resources/Private/Backend/Layouts/
    }
}

如果我现在包括通过ExtensionManagementUtility::addStaticFile添加的“ locationgallery”静态模板,则在包含该模板的每个页面上都可以正常工作。

我的问题是,我收到错误消息

Sorry, the requested view was not found.

The technical reason is: No template was found. ...

如果我在页面树中选择了一个不包含静态模板的页面。

我现在的问题是我不想在根页面中包含静态模板,但是'locationgallery'的后端模块需要在所有页面上都可用。

我确实尝试使用ExtensionManagementUtility::addPageTSConfig包含配置的相应部分,该部分用于将TSConfig添加到$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig']变量中。但是在视图尝试找到模板之前不会解释此Typoscript。 (例如,据我所知,在此运行期间根本没有解释它,因为我只发现TemplateService::mergeConstantsFromPageTSconfigTypoScriptFrontendController::getPagesTSconfig指向$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig']。)

我发现powermail通过使用ext_typoscript_setup.typoscript存档了我想要的内容,但是根据https://forge.typo3.org/issues/52364弃用了此内容。

此方法的另一个缺点是'ext_typoscript_setup.typoscript'的解释独立于后端和前端模式。

我想知道是否有任何不建议使用的方法为Typo3中运行的任何后端提供一些TypoScript。

谢谢您的建议。

1 个答案:

答案 0 :(得分:1)

您可以将TS设置分为几个文件以分隔包含文件。

Configuration/TCA/Overrides/sys_template.php

中添加以下方法
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
  'your_ext_key',
  'Configuration/TypoScript/backend_or_however_you_call_it.typoscript',
  'Your label'
);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile(
  'your_ext_key',
  'Configuration/TypoScript/frontendend_or_however_you_call_it.typoscript',
  'Your label'
);