我在magento中创建了一个自定义属性(其代码为sort_order_product),存储了1,2,3,4,5之类的数字...我想获取按sort_order_product排序的产品,我使用查询获取产品
$collection = Mage::getModel('catalog/product')
->getCollection()
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToSelect('*')
->addAttributeToFilter('category_id', array('in' => $categoryIds))
->setOrder('sort_order_product', 'ASC');
但这并没有给出理想的结果。请让我知道我的错误。 提前谢谢。
答案 0 :(得分:0)
您可以从管理员执行以下步骤:
转到目录 - >属性 - >管理属性,然后点击sort_order_product进行编辑,然后从编辑屏幕
set在产品列表中使用=是
用于产品清单中的排序=是
并保存属性并清除缓存。 如果需要,则重新索引数据。
现在过滤集合,如:
$collection = Mage::getModel('catalog/product')
->getCollection()
->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
->addAttributeToSelect('*')
->addAttributeToFilter('category_id', array('in' => $categoryIds))
->addAttributeToSort('sort_order_product', 'ASC');
答案 1 :(得分:0)
将“商店所有者的输入验证”设置为“整数”后,此方法有效。