Переменные жидкости TYPO3

Я обновляю свой TYPO3 с 7.6 до 8.6. Теперь я не могу устанавливать переменные через style.content.get, мой корневой шаблон загружает fluid_styled_content. какой-то источник:

page.10 = FLUIDTEMPLATE
page.10 {
    partialRootPath ={$resDir}/Private/Partials
    layoutRootPath = {$resDir}/Private/Layouts

   variables {
        contentMain < styles.content.get
        contentMain.select.where = colPos = 0
        contentnew < styles.content.get
        contentnew.select.where = colPos = 1
        contentkat < styles.content.get
        contentkat.select.where = colPos = 2

        test = TEXT
        test.value = loool
    }
}

отобразить переменные:

<f:format.raw> {contentMain} </f:format.raw>
<f:format.raw> {contentnew} </f:format.raw>
<f:format.raw> {contentkat} </f:format.raw>
<f:format.raw> {test} </f:format.raw>

person Alex Kau    schedule 23.02.2017    source источник


Ответы (3)


styles.content.get определен в ext: fluid_styled_content, но очень поздно, поэтому большинство копий пусты. Ссылки не являются решением, поскольку модификация colPos будет применяться ко всем ссылкам.

На данный момент лучшим решением является собственное определение styles.content.get в начале вашего TS:

styles.content.get = CONTENT 
styles.content.get {
    table = tt_content
    select {
        orderBy = sorting
        where = colPos=0
    }
}

но поскольку это собственное определение, я бы переименовал его в temp.content.get, чтобы его можно было идентифицировать как мою собственную версию (без путаницы, если определение global изменится)

person Bernd Wilke πφ    schedule 24.02.2017

В TYPO3 8.6 есть ошибка: https://forge.typo3.org/issues/80044

Добавьте это, прежде чем назначать styles.content.get своему variables: <INCLUDE_TYPOSCRIPT: source="FILE:EXT:frontend/ext_typoscript_setup.txt"> Затем вы можете использовать его, как и раньше.

person bandanh    schedule 07.03.2017

РЕШЕНО Спасибо Bernd! Решил эту проблему. Вот полный пример:

mystyles.content.get = CONTENT 
mystyles.content.get {
    table = tt_content
    select {
        orderBy = sorting
        where = colPos=0
    }
}


page.10 = FLUIDTEMPLATE
page.10 {
    partialRootPath ={$resDir}/Private/Partials
    layoutRootPath = {$resDir}/Private/Layouts

    variables {
        contentMain < mystyles.content.get
        contentMain.select.where = colPos = 0
        contentnew < mystyles.content.get
        contentnew.select.where = colPos = 1
        contentkat < mystyles.content.get
        contentkat.select.where = colPos = 2

        test = TEXT
        test.value = loool
    }
}
person Kau    schedule 24.02.2017
comment
если кто-то поможет вам с ответом, попросите его добавить комментарий к ответу и принять и / или проголосовать, рекомендую удалить свой ответ, ваше решение - person Gang; 04.03.2017
comment
в своем решении я предложил использовать temp.content.get, поскольку все TS-объекты, начинающиеся с temp., удаляются перед выполнением рендеринга, что приводит к меньшему массиву конфигурации. особенно для прототипов, которые копируются, нет необходимости знать во время рендеринга. - person Bernd Wilke πφ; 06.03.2017