Новый пользовательский элемент содержимого в typo3 с опцией выбора

#typo3

#typo3

Вопрос:

Я хочу создать элемент содержимого, в котором редактор может выбрать значок для отображения на интерфейсе.

 TYPO3CMSCoreUtilityExtensionManagementUtility::addTcaSelectItem(
   'tt_content',
   'CType',
    [
        'LLL:EXT:your_extension_key/Resources/Private/Language/Tca.xlf:yourextensionkey_newcontentelement',
        'ServiceCE',
        'example-registration',
    ],
    'textmedia',
    'after'
);
$GLOBALS['TCA']['tt_content']['types']['ServiceCE'] = [
   'showitem' => '
      --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general,
         --palette--;;general,
            header; Header,
            bodytext;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:bodytext_formlabel,
   ',
];
 

Здесь я создаю макет на серверной части для вставки содержимого, используя только заголовок и основной текст.

Комментарии:

1. какая специальная версия TYPO3? что это за икона? во-первых, значок — это просто изображение, поэтому вы можете использовать image / text с Image CE. Или вам нужен фиксированный набор значков, из которых пользователь может выбирать? затем вы можете объединить его с категориями. должен ли значок быть связан со всей страницей или с отдельным CE (с возможностью выбора одного значка для каждого CE)?

2. Я думал просто о мире html, таком как <i class=»fa icon»></i>, select вызовет этот другой html с другим классом, самым простым из возможных способов, я не знаю об остальных ваших вопросах, я просто хочу сделать это для обучения. Я нахожусь в typo3 10

3. это все, что у тебя есть?

Ответ №1:

Было бы много возможных решений:

зависит от того, следует ли назначать значок страницам или элементам содержимого, работающим с таблицей pages или tt_content

  1. ваше расширение предоставит список значков:
    добавьте в записи дополнительное поле со списком выбора значков. поместите его в TCA ( Configuration/TCA/Override/<table>.php ). Убедитесь, что значение соответствует названию значка, чтобы вам не потребовались дополнительные замены в FLUID. Добавьте рендеринг в шаблон FLUID, где он находится. Поскольку он должен быть доступен везде, макеты-шаблоны были бы хорошим местом.
  2. использование sys_categories : используйте встроенные категории для предоставления значков для любой записи.
    создайте несколько категорий, используя значок в качестве изображения категории или используя другое поле в качестве имени значка. (Вы даже можете добавить другое поле специально для имени значка.)
    Для рендеринга pages или tt_content добавить обработчик данных, чтобы получить назначенные sys_category записи записи данных, а затем отобразить первый / все значки записи в шаблонах компоновки.