Как создать пользовательские элементы контента в стиле fluid в TYPO3 7.5 и 7 LTS?
мне сказали, что легко настроить пользовательские структурированные элементы контента для бэкэнда в TYPO3 7.5, используя новое системное расширение fluid_styled_content.
посмотрев на sysext/fluid_styled_content
и sysext/backend
, Я сам не мог понять. Есть намеки?
1 ответов
исходная информация: fluid_styled_slider на Github
эта информация также доступна здесь:https://usetypo3.com/custom-fsc-element.html
официальные документы также находятся в сети:https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/latest/
PageTSconfig
чтобы наш элемент контента появился в Мастере для новых элементов контента, мы должны добавить его через PageTSconfig
mod.wizards.newContentElement.wizardItems.common {
elements {
fs_slider {
iconIdentifier = content-image
title = LLL:EXT:fluid_styled_slider/Resources/Private/Language/locallang_be.xlf:wizard.title
description = LLL:EXT:fluid_styled_slider/Resources/Private/Language/locallang_be.xlf:wizard.description
tt_content_defValues {
CType = fs_slider
}
}
}
show := addToList(fs_slider)
}
TCA
теперь нам нужно сказать TYPO3, какие поля показывать в бэкэнде. Поэтому мы должны расширить конфигурацию tt_content TCA.
Этот материал теперь делается в папке Configuration/TCA/Override
. Давайте сначала добавим наш новый CType (это также можно сделать в ext_tables.php
):
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem(
'tt_content',
'CType',
[
'LLL:EXT:fluid_styled_slider/Resources/Private/Language/locallang_be.xlf:wizard.title',
'fs_slider',
'content-image'
],
'textmedia',
'after'
);
теперь мы определяем, какие поля показывать для нашего CType:
$GLOBALS['TCA']['tt_content']['types']['fs_slider'] = [
'showitem' => '
--palette--;' . $frontendLanguageFilePrefix . 'palette.general;general,
--palette--;' . $languageFilePrefix . 'tt_content.palette.mediaAdjustments;mediaAdjustments,
pi_flexform,
--div--;' . $customLanguageFilePrefix . 'tca.tab.sliderElements,
media
'
];
TypoScript
новый CType fs_slider
нужен рендеринг определение. Это довольно просто:
tt_content {
fs_slider < lib.fluidContent
fs_slider {
templateName = FluidStyledSlider
dataProcessing {
10 = TYPO3\CMS\Frontend\DataProcessing\FilesProcessor
10 {
references.fieldName = media
}
20 = DanielGoerz\FluidStyledSlider\DataProcessing\FluidStyledSliderProcessor
}
}
}
на lib.fluidContent
не намного больше, чем инициализация