我有一个非常复杂的对象$obj
。它有一个方法getDim($subObjId)
,它返回一个数组。
在PHP中,我可以通过$obj->getDim(1)['height']
访问数组。 (我认为这可以从PHP 5.5开始)
现在我想在Smarty中做同样的事情,因为对象有很多属性,我不想将整个对象转换成数组。
但我找不到合适的语法。上面的示例是否有相同的智能语法?
我尝试过(没有成功):
{$obj->getDim(1).height}
{$obj->getDim(1)[height]}
{($obj->getDim(1))[height]}
{($obj->getDim(1)).height}
{$obj->getDim(1)->height}
然而,目前我使用
{$dim = $obj->getDim(1)}{$dim.height}
这很好用,但我想摆脱任务步骤。
修改
我的问题的背景看起来更像是这样:
{foreach $listOfIds as $id}
{for $i = 0 to $obj->getDim($id).height step 10}
...
{/for}
{/foreach}
答案 0 :(得分:1)
我不确定这是否仍然是一件事,因为我很长一段时间没有使用过Smarty而且它似乎有点滥用但是有php标签
{php} echo $obj->getDim(1).height; {/php}