2013-07-19 223 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