2013-07-19 32 views
9

我試圖使用入門選擇自定義屬性下拉值在Magento自動

echo $_product->getProductSize(); 

echo $_product->getAttributeText('product_size'); 

然後得到一個自定義下拉屬性的選擇值,清除我的緩存和重新索引和重新加載我的網頁。我試着從下拉列表中選擇一個值,但是任何一個都會返回。所以基本上,我的問題是,如何從自定義下拉屬性中檢索選定的值?我打算使用此功能根據所選值在我的產品頁面上顯示不同的內容。提前感謝任何幫助和建議。

此外:我試圖在調用相同下拉的產品頁面上調用它。

在試圖通過管理面板稍微播放屬性後,我注意到我選擇的值在頁面上是如何回顯的。但是,我希望能夠在前端動態地檢索它。這可能嗎?例如,在前端,客戶選擇選項B,然後我會顯示與選項B相關的信息。然後,如果他更改爲選項D,則信息將更改爲選項D的信息。

+0

你在哪裏試圖獲得這個值?在哪個頁面上? – Shatir

+0

我試圖在產品頁面上顯示相同的下拉列表。 – user1597438

回答

1

你可以試試下面的代碼

<?php if ($_product->getData('attribute_name')): ?> 
<p><?php echo nl2br($_product->getResource()->getAttribute('attribute_name') 
->getFrontend()->getValue($_product)) ?> 
</p> 
+0

感謝您的建議,但這並不適合我。 – user1597438

+0

謝謝,但這根本不起作用。我改變了下拉值,並沒有顯示選定的值。 – user1597438

+0

http://www.devinrolsen.com/magento-custom-attributes-value/只要參考這個鏈接。這個鏈接將指導你在正確的方向 – Zaheerabbas

16
echo $_product->getAttributeText('product_size'); 

它應該工作,除非你的主題是依賴於「用於產品清單」此設置和「可見在產品視圖頁面上前端」在「管理屬性」中爲後端的屬性。 此外,請檢查您的屬性代碼是否不包含任何空格。雖然magento不允許你通過表單提交在屬性代碼中使用空格,但如果屬性是以編程方式或從sql查詢創建的,那麼這是可能的。其他方面,它不是你的代碼或屬性導致問題。

+0

如何將html轉義爲這些值? –

+0

http://magento.stackexchange.com/questions/569/how-to-escape-output-data#answer-571 –

+0

以及如何獲取CUSTOM OPTION下拉列表的值? –

3

請參閱此代碼,它可能會有用。
代碼獲取所有的自定義選項與他們的價值觀

foreach ($_product->getOptions() as $value) 
{ 
    echo "<br/><strong>".$value->getTitle()."</strong><br/>"; 
    $values = $value->getValues();// Getting Values if it has option values, case of select,dropdown,radio,multiselect 
    ?> 
    <select id = "<?php echo 'select_'.$value->getId() ?>" name = "<?php echo 'options['.$value->getId() .']'?>"> 
    <?php 
    foreach ($values as $val) 
     { 
      echo "<option price = " . $val->getPrice(). " value = ".$val->getOptionTypeId() . ">" .$val->getTitle()."</option>"; 
     } 
     ?> 
    </select> 
    <?php 
    $i++; 
} 

注:該代碼輸出定製選項 &他們就像他們將被用於添加的產品,他們將被要求購物車。
如果您只想獲取選項值(以降低代碼的複雜度),則可以刪除選擇項。

+0

這可以顯示它們,但在將其添加到購物車時不會使用該選項的價格。 – testing123