Magento Get Current Sort& getCollection()的方向

时间:2012-09-07 11:47:23

标签: php magento

我必须对Magento中的目录页面(list.phtml)进行一些更改,除了“排序依据”名称,位置等外,一切都很好......

这是我的代码:

$_productCollection= Mage::getModel('catalog/product')->getCollection()
                     ->addAttributeToSelect('*')
                     ->addStoreFilter()
                     ->setPage(Mage::getBlockSingleton('page/html_pager')->getCurrentPage(), $limit)
                     ->setPageSize( $limit )
                     ->setOrder($this->getCurrentOrder(), $this->getCurrentDirection())
                     ->load();

这里有一些错误,因为在尝试对结果进行排序时没有任何反应,名称,位置等等!

显然这条线有问题:

->setOrder($this->getCurrentOrder(), $this->getCurrentDirection())

我也遇到了设置为不单独显示的简单产品的问题!我也错过了那里的东西。

如果有人能引导我走向正确的功能/语法,那就太棒了!

1 个答案:

答案 0 :(得分:6)

我解决了订购问题!

  

- > setOrder(法师:: getBlockSingleton( '目录/ product_list_toolbar') - > getCurrentOrder(),   法师:: getBlockSingleton( '目录/ product_list_toolbar') - > getCurrentDirection())

产品设置为不单独显示:

->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds())

所以其他人的完整代码:

if( $this->getMode()!='grid' ) {
    $limit = Mage::getStoreConfig('catalog/frontend/list_per_page'); 
}
else {
    $limit = Mage::getStoreConfig('catalog/frontend/grid_per_page');
}   
  $_productCollection= Mage::getModel('catalog/product')->getCollection()
                        ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
                         ->addAttributeToSelect('sku_base')
                         ->addStoreFilter(Mage::app()->getStore()->getId())
                         ->setVisibility(Mage::getSingleton('catalog/product_visibility')->getVisibleInCatalogIds())
                         ->setPage(Mage::getBlockSingleton('page/html_pager')->getCurrentPage(), $limit)
                         ->setPageSize( $limit )
                         ->setOrder(Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentOrder(), Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentDirection())
                         ->load();