1

我已经尝试过了,它部分有效

http://www.dconstructing.com/2011/04/07/sort-magento-catalog-by-date-added/

但是在具有多个类别的页面上,它将类别排序为第一级,然后才对每个类别中的产品进行排序。

因此,一个类别中较早的产品出现在另一个类别中的较晚产品之前。我不想要那个。我想要一个仅按“位置”(magento 术语)排序的平面排序,而不考虑类别。

我怎样才能做到这一点?

4

3 回答 3

1

该说明适用于我的产品分类问题。我使用了第三个Magento 按最新产品排序的解决方案

于 2014-04-28T10:04:31.153 回答
0

除了 Guerra 的回答,您可以在 toolbar.phtml 中使用:

<?php if($this->getCurrentDirection() == 'desc') : ?>
    <?php $this->addOrderToAvailableOrders('created_at','Newest') ?>
<?php else : ?>
    <?php $this->addOrderToAvailableOrders('created_at','Oldest') ?>
<?php endif; ?>
于 2012-10-22T15:27:29.787 回答
0

第 1 步:要实现此复制文件Toolbar.phpapp/code/core/Mage/Catalog/Block/Product/List/Toolbar.php. 在本地创建一个目录结构并粘贴Toolbar.php如下所示app/code/local/Mage/Catalog/Block/Product/List/Toolbar.php

第 2 步:在第 232 行附近,您应该在setCollection()函数中看到以下代码

if ($this->getCurrentOrder()) {
  $this->_collection->setOrder($this->getCurrentOrder(), $this->getCurrentDirection());
}

用下面给出的新代码替换上面的代码

if ($this->getCurrentOrder()) {
  if(($this->getCurrentOrder())=='position'){
      $this->_collection->setOrder('entity_id','desc');
  }
  else {
   $this->_collection->setOrder($this->getCurrentOrder(),$this->getCurrentDirection());
  }
}
于 2014-02-01T09:25:01.893 回答