我正在为TYPO3版本7开发模板。在后端我创建了几个后端布局。在我的setup.ts模板(扩展名)中,我检查后端布局的ID,以提供正确的流体模板。
为了更方便地使用模板,我想直接使用扩展来提供后端布局。如何直接从扩展程序添加后端布局?如何获取或设置后端布局的ID?所以我可以在我的setup.ts中映射这个?
答案 0 :(得分:2)
我通常将后端布局存储在文件夹中以构建扩展名。
<INCLUDE_TYPOSCRIPT: source="Path/To/Backendlayout">
)图片:Screenshot of the Structure of the Example
BE-Layout的基本设置如下所示:
mod.web_layout.BackendLayouts{
exampleKey {
title = Example
config{
# Here you paste the generated BE-Layout
}
}
}
例如(Default.ts):
mod.web_layout.BackendLayouts{
default{
title = Default
config{
backend_layout {
colCount = 2
rowCount = 2
rows {
1 {
columns {
1 {
name = Slider
colspan = 2
colPos = 1
}
}
}
2 {
columns {
1 {
name = Sidebar
colPos = 2
}
2 {
name = Content
colPos = 0
}
}
}
}
}
}
}
}
最后,您需要注册您的页面配置:
<?php
if (!defined('TYPO3_MODE')) {
die ('Access denied.');
}
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerPageTSConfigFile(
'test_ext',
'Configuration/TypoScript/Backend/BackendLayouts.ts',
'My special Backend Layouts'
);
?>
这仅适用于Typo3 v7.4.x及更高版本
现在,您可以在编辑页面时看到添加的后端布局。
如果您想为每个BE布局使用不同的模板,您可以通过FLUIDTEMPLATE设置中的“templateName”属性执行此操作,如下所示:Official TypoScript reference, #templateName
答案 1 :(得分:0)
您可以提供一个为后端布局实现DataProviderInterface的类。然后,您必须在密钥
下注册该类$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['BackendLayoutDataProvider'][$_EXTKEY] = 'Fully\\Qualified\\Namespace\\Of\\The\\Class';
这是可能的,因为TYPO3 6.2。
更多参考资料: