2015-05-18 76 views
0

我在magento中创建了一个自定义属性(其代码为sort_order_product),其中存储了像1,2,3,4,5这样的数字...我想要根据sort_order_product,我正在使用查询获取产品根据自定义属性对magento产品集合进行排序

$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

从管理员可以在下面的步骤进行:

进入目录 - >属性 - >管理属性比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)) 
     ->addAttributeToSort('sort_order_product', 'ASC'); 
+0

我已经完成了这些步骤,但也没有按照自定义属性的排序顺序给出产品列表。 – user0509

+0

确保该属性是数据库中的整数类型 –

+0

存储哪些表自定义属性? – user0509

0

此设置“的店主输入验证”到“整型数”后的工作。

相关问题