从扩展添加TYPO3后端布局

时间:2016-05-15 15:21:34

标签: php typo3 typoscript fluid extbase

我正在为TYPO3版本7开发模板。在后端我创建了几个后端布局。在我的setup.ts模板(扩展名)中,我检查后端布局的ID,以提供正确的流体模板。

为了更方便地使用模板,我想直接使用扩展来提供后端布局。如何直接从扩展程序添加后端布局?如何获取或设置后端布局的ID?所以我可以在我的setup.ts中映射这个?

2 个答案:

答案 0 :(得分:2)

我通常将后端布局存储在文件夹中以构建扩展名。

  • BackendLayouts /其中保存了所有后端布局
  • BackendLayouts.ts这是将布局放在一起的地方(<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及更高版本

Typo3后端

  1. 清除缓存并重新加载后端
  2. 转到根页面并进行编辑
  3. 转到“资源”标签并添加TypoScript配置
  4. 保存,重新加载页面
  5. 现在,您可以在编辑页面时看到添加的后端布局。

    进一步行动

    如果您想为每个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。

更多参考资料: