Как создать пользовательские элементы контента в стиле 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 не намного больше, чем инициализация