我正在尝试使用一系列单选按钮添加自定义表单。我需要将一个列表输出到我可以循环的模板中。但是当我运行此代码时,没有任何输出。如果我在循环中添加文本,它只输出一次。
在我的page_controller类
中public function outputArray($array){
$dl = DataList::create("DataObject");
foreach ($array as $it) {
$do = new DataObject();
$do->Value = $it;
$do->write();
$dl->push($do);
}
return $dl;
}
public function NumList(){return $this->outputArray(array("0","1","2","3","4","5"));}
在我的模板中
<% loop NumList() %>
$Value
<% end_loop %>
答案 0 :(得分:3)
你快到了。这就是我写它的方式:
public function outputArray($array)
{
$dl = new ArrayList();
foreach ($array as $it) {
$dl->add(array('Value' => $it));
}
return $dl;
}
并在SilverStripe模板中:
<% loop $NumList %>
$Value
<% end_loop %>
如果你使用SilverStripe的Form类,你应该看一下:http://api.silverstripe.org/3.1/class-SelectionGroup.html 这样您就可以在对象上设置key-&gt;值数组,并获取SilverStripe呈现的单选按钮。