我确实编写了一个带有后端模块的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::mergeConstantsFromPageTSconfig
和TypoScriptFrontendController::getPagesTSconfig
指向$GLOBALS['TYPO3_CONF_VARS']['BE']['defaultPageTSconfig']
。)
我发现powermail
通过使用ext_typoscript_setup.typoscript存档了我想要的内容,但是根据https://forge.typo3.org/issues/52364弃用了此内容。
此方法的另一个缺点是'ext_typoscript_setup.typoscript'的解释独立于后端和前端模式。
我想知道是否有任何不建议使用的方法为Typo3中运行的任何后端提供一些TypoScript。
谢谢您的建议。
答案 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'
);