Я хочу viewhelper, который может быть полезен для назначения переменной в жидкости, я не хочу, чтобы переменная передавалась от контроллера.Как назначить переменную в жидкости?
-2
A
ответ
9
Установить расширение называется VHS из TYPO3 хранилища
Определение пространства имен, как следующее в верхней части жидкости шаблон
{namespace v=FluidTYPO3\Vhs\ViewHelpers}
Затем с помощью набора ViewHelper
<v:variable.set name="test" value="12345" />
Value of test : {test}
{test} вернется Значение 12345
Для регистрации глобальной переменной
<v:variable.register.set name="test" value="12345"/>]
получить значение глобальной переменной
Value of global variable : <v:variable.register.get name="test">
1
С TYPO3 8.6, это возможно без расширения "VHS":
<f:variable name="myvariable" value="My variable's content"/>
0
С первой версии жидкости можно определить переменные для специальной области: есть VH f:alias
, который позволяет определить новые переменные в пределах этой ВХ. И в этом разница с variable.set
VH от ext: vhs.
<f:alias map="{firstName: 'John', lastName: 'Doe'}">
<p>Hello, my name is {firstName} {lastName}</p>
</f:alias>
<f:for each="{users}" as="user" iteration="iterator">
<f:if condition="{iterator.isFirst}">
<v:variable.set name="firstName">{user.firstName}</v:variable.set>
<v:variable.set name="lastName">{user.lastName}</v:variable.set>
</f:if>
:
do other output
:
</f:for>
<p>the first user was {firstName} {lastName}.</p>
Проблема с установкой переменных внутри жидкости является возможность сделать программирование логики внутри жидкости:
<v:variable.set name="counter" value="0">
<f:for each="records" as="record">
<f:if condition="{record.flag}">
<v:variable.set name="counter">
<f:cObject typoscriptObjectPath="lib.calc">
{counter}+1
</f:cObject>
</v:variable.set>
</f:if>
</f:for>
<p>there are {counter} records with a flag set.</p>
с этим TypoScript
lib.calc = TEXT
lib.calc.current = 1
lib.calc.prioriCalc = 1
Я не понимаю, именно то, что вы хотите ? –
Взгляните на расширение 'vhs'. Он предоставляет [такой ViewHelper] (https://fluidtypo3.org/viewhelpers/vhs/master/Variable/SetViewHelper.html) и многие другие. Действительно полезно. – Jost