Как использовать строковые значения для поля макета элементов содержимого? - PullRequest
0 голосов
/ 11 октября 2019

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

Согласно документации это должно работатьдо тех пор, пока я избегаю слов, имеющих особое значение, таких как «if», «setCurrent», «key», «stdWrap» и «default»

Однако, когда я использую любое из этих значений в TS Config:

TCEFORM.tt_content.layout.addItems {
    banner-home = Banner Home
    banner_home = Banner Home
    bannerHome = Banner Home
    bannerhome = Banner Home
}

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

1 Ответ

2 голосов
/ 11 октября 2019

Поскольку поле макета для tt_content равно

layout int(11) unsigned DEFAULT '0' NOT NULL

, сначала необходимо изменить тип поля, чтобы иметь возможность хранить нечисловые значения.

Можно применить изменения в структуре базы данных. до ext_tables.sql файлов в пределах вашего собственного расширения. Убедитесь, что ваше расширение загружено после существующего расширения, которое определяет int(11) для этого поля. Для этого добавьте запись depends внутри ext_emconf.php.

См .:

...