Я добавляю новые типы контента в свой TYPO3 и хочу использовать FlexForms для определения каждой формы опций типа контента.
Я последовал этому примеру: https://docs.typo3.org/typo3cms/extensions/fluid_styled_content/latest/AddingYourOwnContentElements/
И изменил его, чтобы использовать FlexForms из этого примера: https://wiki.typo3.org/Extension_Development,_using_Flexforms
Но я считаю, что я не совсем понимаю настройки в Configuration/TCA/Overrrides/tt_contant.php
:
// Adds content new content elements
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(
[
'LLL:EXT:lu_content/Resources/Private/Language/locallang.xlf:contacts.title',
'lu_content__contacts',
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('lu_content').'Resources/Public/Icons/Contacts.svg',
],
'CType',
'lu_content'
);
$GLOBALS['TCA']['tt_content']['types']['lu_content__contacts']['showitem'] = 'CType;;;1-1-1,pi_flexform;;;1-1-1';
$GLOBALS['TCA']['tt_content']['columns']['pi_flexform']['config']['ds'][',lu_content__contacts'] = 'FILE:EXT:lu_content/Configuration/FlexForms/Contacts.xml';
Форма работает, но выглядит так:
Как мне получить форму не попасть под параметры плагина?
И как мне сделать заголовок / заголовок для использования в представлении списка? В настоящее время я получаю [notitle] после сохранения в списке содержимого.
Заранее спасибо.
PS: в настоящее время я работаю над TYPO3 v7, но с поддержкой v8.
Текст для вкладки, а также расположение любых вкладок и полей определены для общих плагинов в
$GLOBALS['TCA']['tt_content']['types']['list']
Если вы определили собственный CType, вполне вероятно, что вы захотите определить собственные поля, палитры и типы, скрыть стандартные поля и, возможно, заменить метки по умолчанию.
Вся конфигурация для tt_content довольно сложна, так как она используется для всех различных элементов содержимого, и это можно увидеть ниже. System -> Configuration -> GLOBALS[TCA]
:
Самый простой вариант — заменить ярлык для вкладки в $GLOBALS['TCA']['tt_content']['types']['list']
,
До / По умолчанию:
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,--palette--;;general,--palette--;;headers,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.plugin,list_type;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:list_type_formlabel,pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.list_formlabel,recursive,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,--palette--;;frames,--palette--;;appearanceLinks,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,--palette--;;language,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,--palette--;;hidden,--palette--;;access,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,--div--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_category.tabs.category,categories,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,rowDescription,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended
После / место для заполнения собственной меткой: (ищите ###YOUR_LABEL###
):
--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,--palette--;;general,--palette--;;headers,--div--;###YOUR_LABEL###,list_type;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:list_type_formlabel,pages;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:pages.ALT.list_formlabel,recursive,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,--palette--;;frames,--palette--;;appearanceLinks,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:language,--palette--;;language,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:access,--palette--;;hidden,--palette--;;access,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:categories,--div--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_category.tabs.category,categories,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:notes,rowDescription,--div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:extended
и более сложный подход будет определять собственный тип в $GLOBALS['TCA']['tt_content']['types']
,
Здесь вы найдете документацию по TCA.
Для вашего случая особенно интересны следующие главы:
Но если вы хотите изменить метки или другую конфигурацию отдельных полей, вам придется обратиться к главе / конфигурации о столбцы.
В области Ctrl Вы все еще можете определить некоторые общие параметры, такие как поля сортировки или поведение при копировании всего элемента, посмотрите в этой главе, чтобы получить представление обо всех параметрах. Кроме того, желаемая и стандартная метка и значение поля настроены там с
$GLOBALS['TCA']['tt_content']['ctrl']['label']
Также возможно объединить два или более полей для отображения по умолчанию:
$GLOBALS['TCA']['tt_content']['ctrl']['label'] = 'header';
$GLOBALS['TCA']['tt_content']['ctrl']['label_alt'] = 'subheader';
Вы все еще можете добавить опцию
$GLOBALS['TCA']['tt_content']['ctrl']['label_alt_force'] = 1;
Настройка формы для плагина может занять некоторое время, даже чтобы понять все варианты, но в целом существует очень много вариантов индивидуализации, связанных со многими потребностями. Можно даже определить пользовательские функции для обработки и отображения собственных параметров в форме, которые не охватываются существующими параметрами.
Других решений пока нет …