Bin*_*iya 2 php loops silverstripe
嗨,我是SilverStripe的新手.
我$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>
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
小智 5
您需要使用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>
Run Code Online (Sandbox Code Playgroud)
您可能会发现这些有用: