Использование FlexForm при создании нового контента cType в плагинах TYPO3

Я добавляю новые типы контента в свой 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.

0

Решение

Текст для вкладки, а также расположение любых вкладок и полей определены для общих плагинов в

$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;

Настройка формы для плагина может занять некоторое время, даже чтобы понять все варианты, но в целом существует очень много вариантов индивидуализации, связанных со многими потребностями. Можно даже определить пользовательские функции для обработки и отображения собственных параметров в форме, которые не охватываются существующими параметрами.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]