具有多个属性的Magento排序集合

时间:2016-11-17 11:04:45

标签: php sorting magento

我想在目录产品列表页面对具有多个属性的Magento产品系列进行排序。我正在使用此代码

field=driver.find_element_by_id("id_name")
if field.is_displayed():
    field.clear()

我也尝试过这段代码

$this->_collection->setOrder('price', 'desc');
$this->_collection->setOrder('price_plus_shipping', 'desc');

当我对它们进行排序时,两者结合起来并没有给我准确的结果,但如果我单独使用它们就像我只使用

  

price_plus_shipping

它的工作正常

  

它也是工作文件 他们向我展示了准确的结果。但我想用它们结合起来。 在价格我有 price_plus_shipping 的产品价格我有像

这样的字母
  

a,b,c等

2 个答案:

答案 0 :(得分:2)

我已经研究过您的方法并获得结果。 我创建了一个文本类型属性" price_plus_shipping"。

Visible on Product View Page on Front-end => Yes
Used in Product Listing => Yes
Used for Sorting in Product Listing => Yes

现在在app\design\frontend\[Package]\[Theme]\template\catalog\product\list.phtml

上进行了以下更改
$_productCollection=$this->getLoadedProductCollection();
$_productCollection->clear();
$_productCollection=$_productCollection->addAttributeToSort('price', 'DESC');
$_productCollection=$_productCollection->addAttributeToSort('price_plus_shipping', 'ASC');
$_helper = $this->helper('catalog/output');

我希望它会对你有所帮助。

答案 1 :(得分:0)

Magento 1.9中似乎存在使用setOrder和多列的错误。我能够像这样工作:

$this->_collection->getSelect()->order(array('price desc', 'price_plus_shipping desc'));