类别除主页外,产品排序不起作用



我已经在管理面板中对每个类别中的产品进行了排序。它在前端不起作用,但在主页上一切都很好。我检查了这个链接,我想知道如何使其按位置STACK QUE 强制排序

我在网格视图中也引用了相同的list.phtml。有人能帮我吗?非常感谢。

以防万一有人遇到同样的错误。这是我设法使其发挥作用的解决方案。首先,您需要从图像核心复制Toolbar.php并将其粘贴到本地图像池中,然后找到函数setCollection并用以下代码替换它:

    public function setCollection($collection)
{
    $this->_collection = $collection;
    $this->_collection->setCurPage($this->getCurrentPage());
    // we need to set pagination only if passed value integer and more that 0
    $limit = (int)$this->getLimit();
    if ($limit) {
        $this->_collection->setPageSize($limit);
    }
     if ($this->getCurrentOrder()) {
      if(($this->getCurrentOrder())=='position'){
          $this->_collection->setOrder('position','asc');
      }
      else {
       $this->_collection->setOrder($this->getCurrentOrder(),$this->getCurrentDirection());
      }
    }
    return $this;
}

要按位置创建排序,请在app/design/frontend//default/template/controlog/product/list.phtml中获取产品集合后编写以下代码

$_productCollection = new Varien_Data_Collection();
$sortedCollection = array();
foreach ($_defaultProductCollection as $key => $_product) {
    if(!isset($sortedCollection[$positions[$_product->getId()]])){
        $sortedCollection[$positions[$_product->getId()]] = array();
    }
    $sortedCollection[$positions[$_product->getId()]][] = $_product;
}
ksort($sortedCollection);
foreach ($sortedCollection as $_products) {
    foreach ($_products as $_product) {
        $_productCollection->addItem($_product);
    }
}

希望对你有用。

相关内容

  • 没有找到相关文章

最新更新