Magento добавить пейджер в список пожеланий - PullRequest
6 голосов
/ 09 августа 2011

Можно ли использовать пейджер коллекции каталогов для списка желаний, и если да, то как я могу реализовать это в списке желаний?

Ответы [ 2 ]

5 голосов
/ 05 октября 2011

Дэнни (OP) уже самостоятельно ответил на вопрос.

Цитата:


Хорошо, я нашел решение здесь , но я также опубликую его здесь для лучшей подсветки кода: создайте новый модуль и перезапишите блок списка желаний, расположенный в: code/core/Mage/Wishlist/Block/Customer/Wishlist.php, и добавьте следующее в свой 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');
    }  
}

сейчасдобавьте <?php echo $this->getPagerHtml(); ?> к началу и / или концу view.phtml , расположенного в: app / design / frontend / default / your_theme / template / wishlist / view.phtml .это должно сработать.


Примечание: Абсолютно ОК, чтобы ответить самостоятельно на свой вопрос.Пожалуйста, оставьте это как реальный ответ, но , а не в вопросе или комментарии.Публикация в виде реального ответа помогает сохранить список «без ответа» более понятным (избегая того, чтобы другие люди тратили свое время).

0 голосов
/ 16 июня 2015

вам не нужно создавать новый module.just create (с папкой) в вашей локальной папке: 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(); ?>

после заголовка div и после formkey в конце view.phtml : пример изображения

проверено на Magento вер. 1.9.0.1

...