Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SilverStripe:如何为模板中的每个循环渲染法线_Php_Loops_Silverstripe - Fatal编程技术网

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}
您可能会发现以下内容很有帮助: