簡體   English   中英

SilverStripe:如何在模板中呈現普通的for-each循環

[英]SilverStripe: how to render normal for-each loop in template

嗨,我是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>

提前致謝 :)

您將需要使用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>

您可能會發現以下幫助:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM