微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-如何在Magento中获得属性选项的位置?

我有以下问题.在一个额外的模块中,我想根据属性的位置对它们进行排序.当我尝试获取属性的选项时,可以获取Id和Label,但是该对象中没有其他内容.

我可以这样做,例如:

$attribute = $_product->getResource()->getAttribute($code)->getoptionsText($value):

或者只是getoptionId($value),但是没有什么可以获取Position的,它可以在后端进行编辑.那么,如何得到这个呢?还没有在网上发现任何东西(有用).

(也有类似的问题magento sort attribute option collection by position?没有提供任何帮助)

编辑:
我设法做的是直接编写sql语句,如下所示:

SELECT sort_order FROM mag_eav_attribute_option WHERE option_id = 114 AND attribute_id = 533;

但我认为,有一个更好的选择来获得该价值.

解决方法:

我自己找到了答案,并希望与您分享.

$attribute = Mage::getModel('eav/entity_attribute')->load( $code, 'attribute_code');
$option_col = Mage::getResourceModel( 'eav/entity_attribute_option_collection')
 ->setAttributeFilter( $attribute->getId() )
 ->setStoreFilter()
 ->setPositionorder( 'ASC' );
$option_col->getSelect()->order('main_table.sort_order '.$orderby);

希望对您有所帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐