Как использовать объект typoscript в шаблоне жидкости, как если бы условие

У меня есть типотекстовый объект TEXT:

lib.myid = TEXT
lib.myid.value = 1413

И хотите использовать его в гибком шаблоне (для tx_news):

<f:for each="{newsItem.categories}" as="category">
    <f:if condition="{category.uid} == {lib.myid}">
        Category ID is the same as myid
    </f:if>
</f:for>

Как я могу это сделать?


person nbar    schedule 30.01.2015    source источник


Ответы (1)


Вы можете использовать ViewHelper f:cObject. Это будет выглядеть так:

<f:for each="{newsItem.categories}" as="category">
    <f:if condition="{category.uid} == {f:cObject(typoscriptObjectPath: 'lib.myid')}">
        Category ID is the same as myid
    </f:if>
</f:for>

Кроме того, вы можете сделать значение настройкой новостного плагина, установив

plugin.tx_news {
    settings {
        valuefromlibrary < lib.myid
    }
}

После этого вы можете получить доступ к значению, используя {settings.valuefromlibrary} в своем шаблоне. Но имейте в виду, что настройки не передаются автоматически партиалам, поэтому в партиале значение может быть не определено. Это ограничение обходится в стандартном шаблоне EXT:news путем передачи переменной settings в partials.

person Jost    schedule 30.01.2015
comment
Теперь я знаю, почему иногда значения сохраняются в настройках, даже если они не имеют никакого отношения к этому плагину. Я использовал cObject, но не знал, что могу использовать его также как встроенную нотацию. ты - person nbar; 02.02.2015
comment
есть ли прямой способ получить доступ к настройкам из другого плагина, в котором я сейчас нахожусь? Например, я нахожусь в шаблоне из tx_news, но хочу получить доступ к настройкам из tx_somethingelse. - person nbar; 12.03.2015
comment
@nbar: способ передать настройки из tx_somethingelse в tx_news - поместить это в setup.txt tx_somethingelse... plugin.tx_news { settings { detail { disqusShortname = {$someVarAccessibleFrom_tx_somethingelse} } } } - person god_is_love; 20.01.2016