Php SilverStripe:如何为模板中的每个循环渲染法线
嗨,我是银条新手 我有一个国家数组Php SilverStripe:如何为模板中的每个循环渲染法线,php,loops,silverstripe,Php,Loops,Silverstripe,嗨,我是银条新手 我有一个国家数组$AllCountries我想使用循环在模板中渲染 如果有一个模型,那么我可以很容易地做到这一点,但我想使用我在这里定义的数组 Array ( [AD] => Andorra [AE] => United Arab Emirates [AF] => Afghanistan [AG] => Antigua and Barbuda [AI] => A
$AllCountries
我想使用循环在模板中渲染
如果有一个模型,那么我可以很容易地做到这一点,但我想使用我在这里定义的数组
Array
(
[AD] => Andorra
[AE] => United Arab Emirates
[AF] => Afghanistan
[AG] => Antigua and Barbuda
[AI] => Anguilla
);
<select name="Country" class="dropdown form-input" id="country">
<% loop $AllCountries %>
<option value="$key">$value</option>
<% end_loop %>
</select>
数组
(
[AD]=>安道尔
[AE]=>阿拉伯联合酋长国
[AF]=>阿富汗
[AG]=>安提瓜和巴布达
[AI]=>安圭拉
);
美元价值
提前感谢:)您需要使用ArrayList和ArrayData:
// MyPage_Controller
public function getOptions() {
$data = array(
'AD' => 'Andorra',
'AE' => 'UAE'
);
$result = new ArrayList();
foreach ($data as $code => $country) {
$arrayData = new ArrayData(array(
'Code' => $code,
'Name' => $country
));
$result->push($arrayData);
}
return $result;
}
// MyPage.ss
<select name="Country" class="dropdown form-input" id="country">
<% loop $Options %>
<option value="{$Code}">{$Name}</option>
<% end_loop %>
</select>
//MyPage\u控制器
公共函数getOptions(){
$data=数组(
“AD”=>“安道尔”,
“AE”=>“阿联酋”
);
$result=newarraylist();
foreach($code=>country的数据){
$arrayData=新的arrayData(阵列)(
“代码”=>$Code,
“名称”=>$country
));
$result->push($arrayData);
}
返回$result;
}
//MyPage.ss
{$Name}
您可能会发现以下内容很有帮助: