Как настроить шаблоны TYPO3 styles.content.get

Я установил простой шаблон FLUID_STYLED_CONTENT с тремя элементами styles.content.get. Есть ли способ перезаписать шаблонный путь загружаемого элемента (например, здесь для элемента col = 2)? Я не могу ожидать, что мой клиент будет менять макет элемента контента каждый раз, когда он / она устанавливает «слоган». Содержимое contentSlogan - это уже полностью обработанный HTML-текст.

page = PAGE

page{

    # template
    10 = FLUIDTEMPLATE
    10 {

        partialRootPath = {$resources}/Private/Partials/
        templateRootPath = {$resources}/Private/Templates/
        layoutRootPath = {$resources}/Private/Layouts/

        # fluid variables
        variables {

            content < styles.content.get
            navigation < lib.navigation

            contentTeaser < styles.content.get
            contentTeaser.select.where = colPos=1

            contentSlogan < styles.content.get
            contentSlogan.select.where = colPos=2

        }
    }

}

person Pete    schedule 10.09.2019    source источник


Ответы (1)


Совершенно другой подход, как вы предложили в своем вопросе, - установить значение по умолчанию для макета в TSconfig страницы:

TCAdefaults.tt_content.layout = 7

Точно так же он установит значение для каждого элемента содержимого, поэтому вам все равно нужно проверить, имеет ли поле colPos значение 2 (я добавил значение 3, чтобы показать, что оно работает и для нескольких значений):

TCAdefaults.tt_content.layout = 7
TCAdefaults.tt_content.layout.if {
  isInList.field = colPos
  value = 2,3
}

Значение 7 - это идентификатор желаемого макета по умолчанию, который необходимо изменить.

Это решение небезопасно, в зависимости от использования TYPO3 бывают ситуации, когда оно никогда не сработает так, как задумано, тем не менее во многих случаях оно должно быть полезным.

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

person David    schedule 11.09.2019