TYPO3 Extension-Builder выбирает выходное значение IRRE во флюиде

Я щелкнул мне небольшое расширение в Extension Builder вместе. Это общий объект (стена) с IRRE-элементами (окна в стене - 1:n). Этот IRRE-элемент имеет поле выбора (цвет окна) с различными значениями. Я добавил значения в папку переопределения, чтобы они не перезаписывались при добавлении другого поля в Extension Builder.

В моем шаблоне я перебираю все n элементов и пытаюсь вывести каждый из них по частям. Но теперь в браузере отображаются только идентификаторы, а не значения.

Вот мой TCA-Override:

$GLOBALS['TCA']['MY_EXTENSIO']['columns']['color']['config']['items'] = [
['Green', 0],
['Red', 1],
['Blue', 2],
['Gray with orange dots', 3],
];

То, как я это делаю в частичном

{window.color} // window  is the passed variable of the loop

В бэкэнде все работает просто отлично. Даже если я сохраню данные, перезагрузите... Всегда выбрано название цвета (например, "Синий"). Но во внешнем интерфейсе это просто "2" - идентификатор цвета. Я больше ничего не делал: скорее я сменил контроллер, но не работал многоязычный...

Кто-нибудь из вас имеет для меня подсказку? Я гуглю с часами безрезультатно.

1 ответ

TCA-Override:

$GLOBALS['TCA']['MY_EXTENSIO']['columns']['color']['config']['items'] = [
['Green', '#060'],
['Red', '#F00'],
['Blue', '#00F'], // for better practice I suggest classes like: ['Blue', 'blue-color-code']
['Gray with orange dots', '#999'],
];

Измените тип поля в ext_tables.sql -> не забудьте обновить БД из установочного инструмента

CREATE TABLE tx_hous_domain_model_window (
   color varchar(255) DEFAULT '' NOT NULL
);

Просто посмотрите, как должна выглядеть ваша модель:

class Window extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity {
   protected $color = '';

   public function getColor() {
        return $this->color;
   }
   public function setColor($color) {
        $this->color = $color;
   }
}

по вашему мнению:

{window.color} <!-- either you'll get '#00F' for blue or 'blue-color-code' class as per your TCA config -->

Не забудьте очистить кэш инсталляционного инструмента

Другие вопросы по тегам