В одном из моих шаблонов NEOS я пытаюсь решить простую задачу создания случайного числа (в пределах заданного диапазона) и сохранить его в переменной для последующего использования.Fluid-Alias-View-Helper с результатом другого помощника представления
Поскольку ни один из помощников по умолчанию не предлагает такую функцию, я разработал свой собственный помощник вида, который ожидает минимальное и максимальное значение. Внутри помощник вида использует php rand($min, $max)
.
Следующий пример работает в моем шаблоне:
site:RandomNumber(0, 17)
Как и ожидалось, это выводит случайное число. Однако теперь мне нужно сохранить результат в переменную, так как я должен использовать его более одного раза.
я наткнулся флюиды псевдоним -view-помощника:
<f:alias map="{number: 33}">
The number is {number}
</f:alias>
Это приводит к:
The number is 33
Теперь я хочу номер не быть 33, но результат моего RandomNumber
-view-хелперов.
Я пытался что-то вроде:
<f:alias map="{number: {site:RandomNumber(0, 17)}}">
The number is {number}
</f:alias>
Это, однако, бросает исключение, говоря:
The argument "map" was registered with type "array", but is of type "string"
in view helper "TYPO3\Fluid\ViewHelpers\AliasViewHelper"
Документах по f:alias
вид-хелперов говорят принятые ценности и другие вид-хелперы, но они никогда Приведите примеры.
Я полностью ошибаюсь при таком подходе? Невозможно ли просто назначить простую переменную в шаблоне жидкости?
Дополнительная информация: У меня есть ползунок на веб-сайте, который должен начинаться с другой слайд на (почти) каждой загрузке страницы. Поэтому мне нужно взять этот случайный номер слайда, который я должен разделить на разметку слайдера несколько раз.
У меня была аналогичная проблема, и из-за вашего ответа здесь я заметил, что мой тоже не работал, потому что я не добавлял лишних кавычек вокруг одного выражения !! Благодаря! :) Вы должны поместить их вокруг всего выражения, даже если фигурные скобки не находятся вокруг всего выражения, как в моем случае: 'arguments = {" property: 'AdditionalInfos. {I.index} .infoValue' "}' –