Я разрабатываю шаблон для TYPO3 версии 7. В бэкэнде я создал несколько макетов бэкэнда. В моем шаблоне (расширении) в файле setup.ts я проверяю идентификаторы внутреннего макета, чтобы доставить правильный шаблон жидкости.
Для более легкого использования шаблона я хочу предоставить макеты бэкэнда непосредственно с расширением. Как добавить макеты бэкэнда непосредственно из расширения? Как получить или установить идентификатор для серверных макетов? Так я могу отобразить это в моем setup.ts?
Я обычно храню Backend-макеты в папках, чтобы структурировать расширение.
<INCLUDE_TYPOSCRIPT: source="Path/To/Backendlayout">
)Образ: Скриншот структуры примера
Базовая настройка для 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 и выше
Теперь вы сможете увидеть свои добавленные Backend Layouts при редактировании страницы.
Если вы хотите использовать разные шаблоны для каждого BE-Layout, вы можете просто сделать это через porterty «templateName» в настройке FLUIDTEMPLATE, как вы можете видеть здесь: Официальная ссылка на TypoScript, #templateName
Вы можете предоставить класс, который реализует DataProviderInterface для серверных макетов. Затем вы должны зарегистрировать этот класс под ключом
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['BackendLayoutDataProvider'][$_EXTKEY] = 'Fully\\Qualified\\Namespace\\Of\\The\\Class';
Это возможно начиная с TYPO3 6.2.
Больше ссылок: