首页 > 解决方案 > 在 Concrete5 中动态填充下拉列表

问题描述

我有一个带有“区域”属性的页面列表,例如:

Page1 region = Montreal
Page2 region = Montreal
Page3 region = Quebec
Page4 region = Quebec
Page5 region = Charlevoix

我想动态填充下拉列表,其中只有我有一个页面的区域,例如:

<select>
<option value="1">Montreal</option>
<option value="2">Quebec</option>
<option value="3">Charlevoix</option>
</select>

我这样做,但我在构建查询时遇到问题:

$db = Loader::db();
$ak_locations = CollectionAttributeKey::getByHandle('region');
$r = $db->Execute("SELECT DISTINCT ....);

标签: concrete5

解决方案


谢谢努尔,

我这样做了,它的工作:

$reg = CollectionAttributeKey::getByHandle('Region');
$options = $reg->getController()->getOptionUsageArray();
if (!empty($options)) {
    print("<Select>");
    foreach($options as $option) {
         printf("<option value=\"%s\">%s</option>", $option->getSelectAttributeOptionDisplayValue(), $option->getSelectAttributeOptionDisplayValue());
    }
    print("</Select>");
}

推荐阅读