2

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())

また、個別に表示されないように設定されているシンプルな製品が表示されているという問題もあります。私もそこから何かを逃しました。

誰かが私を正しい関数/構文に向けて導くことができれば、それは素晴らしいことです!

4

1 に答える 1

6

注文の問題を解決しました!

-> setOrder(Mage :: getBlockSingleton('catalog / product_list_toolbar')-> getCurrentOrder()、Mage :: getBlockSingleton('catalog / 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();
于 2012-09-10T08:29:00.793 に答える