如何在模板内完成?我使用模板循环中的键来使用ArrayData完成它以访问模板中的值,但是如果我有一个没有键的任意字符串数组,我使用什么变量来访问这些值?
如果在我的控制器中我有这个:
public function ArrayList()
{
$ArrayList = new ArrayList(array('this', 'is', 'a', 'test'));
return $ArrayList;
}
这在我的模板中:
<% loop $ArrayList %>1<% end_loop %>
我应该用什么代替1来让模板吐出“这是一个测试”?
答案 0 :(得分:14)
据我所知这是不可能的,你需要将每个项目包装成一个ArrayData对象
public function ArrayList()
{
$ArrayList = ArrayList::create(array(
ArrayData::create(array('Text' => 'this')),
ArrayData::create(array('Text' => 'is')),
ArrayData::create(array('Text' => 'a')),
ArrayData::create(array('Text' => 'test')),
));
return $ArrayList;
}
和模板:
<% loop $ArrayList %>$Text<% end_loop %>
//注意:___::create()
是类固醇的new ___()
答案 1 :(得分:7)
您可以只使用ArrayData
,而不是每次都创建一个新的$Me
实例。所以你会:
public function ArrayList()
{
$ArrayList = new ArrayList(array('this', 'is', 'a', 'test'));
return $ArrayList;
}
并且,在您的模板中:
<% loop $ArrayList %>$Me<% end_loop %>
$Me
指循环中的当前项。在这种情况下,它将成为数组中的字符串。