ウィッシュリストにカタログコレクションページャーを使用することは可能ですか?使用できる場合、これをウィッシュリストに実装するにはどうすればよいですか?
2 に答える
ダニー(OP)はすでに質問に自己回答しています。
見積もり:
OK、ここで解決策を見つけましたが、コードの強調表示を改善するためにここにも投稿します: 新しいモジュールを作成しcode/core/Mage/Wishlist/Block/Customer/Wishlist.php
、次の場所にあるウィッシュリスト ブロックを上書きします。
class Company_Wishlist_Block_Customer_Wishlist extends Mage_Wishlist_Block_Customer_Wishlist
{
protected function _prepareLayout()
{
parent::_prepareLayout();
$pager = $this->getLayout()
->createBlock('page/html_pager', 'wishlist.customer.pager')
->setCollection($this->getWishlist());
$this->setChild('pager', $pager);
$this->getWishlist()->load();
return $this;
}
public function getPagerHtml()
{
return $this->getChildHtml('pager');
}
}
app/design/frontend/default/your_theme/template/wishlist/ view.phtmlにあるview.phtml<?php echo $this->getPagerHtml(); ?>
の先頭および/または末尾に追加します。それはトリックを行う必要があります。
注:自分の質問に自己回答することはまったく問題ありません。質問やコメントではなく、実際の回答として投稿してください。本当の回答として投稿すると、「未回答」リストをより明確に保つことができます (他の人が時間を無駄にするのを防ぎます)。
新しいモジュールを作成する必要はありません。ローカルに作成するだけです: app\code\local\Mage\Wishlist\Block\Customer\Wishlist.php.
Wishlist.php に次のコードを入力します。
<?php class Mage_Wishlist_Block_Customer_Wishlist extends Mage_Wishlist_Block_Abstract {
/**
* Preparing global layout
*
* @return Mage_Wishlist_Block_Customer_Wishlist
*/
protected function _prepareLayout()
{
parent::_prepareLayout();
$pager = $this->getLayout()->createBlock('page/html_pager', 'wishlist.customer.pager');
$pager->setAvailableLimit(array(5=>5,10=>10,20=>20,'all'=>'all'));
$pager->setCollection($this->getWishlist());
$this->setChild('pager', $pager);
$this->getWishlist()->load();
return $this;
}
/**
* Pager HTML
*
* @return HTML
*/
public function getPagerHtml()
{
return $this->getChildHtml('pager');
}
}
その後、次のコードを /app/design/frontend/base/default/template/wishlist/view.phtml に追加します
<?php echo $this->getPagerHtml(); ?>
view.phtml の末尾の title div の後と formkey の後:画像の例
Magento版でテスト済み。1.9.0.1