カスタム製品ビューに[並べ替え]ドロップダウンを追加しようとしています。ポケットベルでは機能しましたが、ソーターでは常にエラーが発生します。
これは私が試していることです:
protected function _prepareLayout()
{
parent::_prepareLayout();
$pager = $this->getLayout()->createBlock('page/html_pager', 'custom.pager');
$toolbar = $this->getLayout()->createBlock('catalog/product_list_toolbar', 'custom.toolbar');
$toolbar->setCollection($this->getCollection());
$toolbar->setAvailableOrders($orders);
$pager->setCollection($this->getCollection());
// $pager->setAvailableLimit(array(10=>10));
//$pager->setLimit(2);
$pager->setDefaultOrder(array('popularity_by_sells'=>'popularity_by_sells'));
$pager->setCollection($this->getCollection());
$pager->setShowPerPage(false);
$pager->setShowAmounts(false);
$pager->setDefaultOrder('popularity_by_sells');
$this->setChild('pager', $pager);
$this->getCollection()->load();
return $this;
}
public function getPagerHtml()
{
return $this->getChildHtml('pager');
}
public function getToolbarHtml(){
return $this->getChildHtml('toolbar');
}
ここで私は致命的なエラーを受け取ります:
[...] \ src \ app \ code \ local \ Mage \ Catalog \ Block \ Product \ List \Toolbar.phpの738行目の非オブジェクトでメンバー関数getId()を呼び出します。