在Magento中有不同的方法来检索属性值,
$options=$_product->getAttributeText('some_attribute')
$options=$_product->getResource()->getAttribute('some_attribute')->getFrontend()->getValue($_product)
$options=$_product->getSomeAttribute()
上述方法有何不同,哪种方法是检索属性值的正确方法?
答案 0 :(得分:4)
echo $_product->getSomeAttribute()
将使用属性作为文本值或textarea值等获取值。
echo $_product->getAttributeText('some_attribute')
会在Drop Down
或Multiple Select
属性类型中获得所有选项的数组。
$attributes = $_product->getAttributes();
$someAttr = $attributes['some_attribute']->getFrontend()->getValue($_product);
可以获取任何类型属性的值,甚至是Drop Down or Multiple Select
属性类型的值。
答案 1 :(得分:0)
使用getAttributetext,您可以直接在属性数组上获取属性。 当您使用get方法时,您需要通过" right"来生成产品。方式,因为获取和设置可以测量尊重magento规则的日期。 使用getFrontend,您可以直接从数据库中获取。
没有正确的方法可以做到这一点,但是有低成本的解决方案,我认为使用get方法和getAttributeText是最好的方法。