在Magento分层导航下拉列表中替换默认的“选择选项”文本

时间:2012-09-12 10:52:42

标签: magento layered-navigation

我正在使用下拉列表来显示我的分层导航属性值。我有3个过滤器 - 价格,尺寸和颜色。 这就是我想要做的: 1.获取分层导航过滤器的下拉列表。 2.获取属性标签/名称以显示为第一个选项。目前,我的代码为每个下拉列表设置了默认的“选择一个选项”值,我想用“选择价格”,“选择尺寸”和“选择颜色”等替换。 这是我目前的template / catalog / layer / filter.phtml代码。下拉列表有效,但我仍然停留在获取属性标签而不是“选择一个选项”

<select onchange="setLocation(this.value)">
<option value='' disabled selected style='display:none;'>Choose an Option</option>
</option> 
<?php foreach ($this->getItems() as $_item): ?>
<option
    <?php if ($_item->getCount() > 0): ?>
    value="<?php echo $this->urlEscape($_item->getUrl()) ?>"><?php echo $_item->getLabel() ?>
    <?php else: echo '>' . $_item->getLabel() ?>
    <?php endif; ?>
    (<?php echo $_item->getCount() ?>)
</option>

1 个答案:

答案 0 :(得分:2)

试试这段代码。它在所有浏览器中都经过测试。

<select onchange="setLocation(this.value)">
<?php $count = 0; ?>
 <?php foreach ($this->getItems() as $_item): ?> 
 <?php $count++; ?>
 <?php if($count == 1): ?>
<option value='' disabled selected style='display:none;'>Choose <?php echo $attribute_code = $_item->getFilter()->getName();?> </option> 
<?php endif; ?>
<option <?php if ($_item->getCount() > 0): ?> value="<?php echo $this->urlEscape($_item->getUrl()) ?>">
<?php echo $_item->getLabel() ?> <?php else: echo '>' . $_item->getLabel() ?> <?php endif; ?> (<?php echo $_item->getCount() ?>) </option>
<?php endforeach; ?> 
</select>