【发布时间】:2016-07-27 10:20:13
【问题描述】:
在我的一个 NEOS 模板中,我尝试解决生成随机数(在指定范围内)并将其存储到变量中以供以后使用的简单任务。
由于没有一个默认的视图助手提供这样的功能,我开发了自己的视图助手,它需要一个最小值和最大值。视图助手在内部使用 php 的 rand($min, $max)。
以下示例在我的模板中运行:
site:RandomNumber(0, 17)
正如预期的那样,这会输出一个随机数。但是现在我需要将结果存储到一个变量中,因为我必须多次使用它。
我遇到了流体别名-view-helper:
<f:alias map="{number: 33}">
The number is {number}
</f:alias>
这会导致:
The number is 33
现在我希望数字不是 33,而是我的RandomNumber-view-helper 的结果。
我尝试过这样的事情:
<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:aliasview-helper 的文档说接受的值是其他视图助手,但他们从未给出任何示例。
我对这种方法完全错误吗?是否根本不可能在流体模板中分配一个简单的变量?
更多信息: 我在网站上确实有一个滑块,它应该从(几乎)每个页面加载的不同幻灯片开始。所以我需要抓取这个随机的幻灯片编号,我必须在滑块标记中多次引用它。
【问题讨论】: