2012-09-12 14 views
3

我正在使用下拉菜單來顯示我的分層導航屬性值。我有3個過濾器 - 價格,尺寸和顏色。 這就是我想要做的: 1.獲取分層導航過濾器的下拉菜單。 2.獲取屬性標籤/名稱作爲第一個選項顯示。目前,我的代碼爲每個下拉菜單添加了默認的「選擇選項」值,我想用「選擇價格」,「選擇尺寸」和「選擇顏色」來替換。 這是我目前的代碼template/catalog/layer/filter.phtml。下拉工作,但我堅持在獲得屬性標籤,而不是「選擇選項」替換Magento分層導航下拉菜單中的默認「選擇選項」文本

<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> 

+0

請問您能否提供更多關於如何使用下拉菜單而不是原生''過濾器的詳細信息? –

+0

投票關閉:安裝特定的,而不是通用的Magento問題。難道你不能僅僅通過文本來查找文件的來源? – Theodores

回答

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> 
+0

是的!謝謝!這工作完美。 – GKRP

+0

好吧,它看起來像Safari和IE中有問題。我得到的下拉列表中的過濾器名稱一再重複。如此:(對於價格篩選器) - 選擇價格,$ 0.00 - $ 49.99,選擇價格,$ 50.00 - $ 99.99,選擇價格等。點擊任何重複的「選擇價格」值會給出404錯誤。該錯誤僅在Safari和IE上可見。在IE中,我實際上不能選擇「選擇價格」值,但在Safari中,我可以,並且這導致我進入404頁面。任何想法爲什麼發生這種情況? – GKRP

+0

立即嘗試上面的代碼。我編輯並測試過。 – Palanikumar