Magento использует setCurPage для разбиения отзывов на страницы
Я использую расширение allreviews
Magento, чтобы у меня была страница со всеми отзывами, однако мне нужно добавить разбивку на страницы на этой странице.
Последний бит, с которым я застрял, по сути, добавляет ограничение к запросу. Я прочитал несколько потоков, в которых говорится, что нужно использовать setCurPage
в коллекции, но это, похоже, никак не влияет на запрос?
Когда я пытаюсь определить, что должно быть равно LIMIT 25, 25
и LIMIT 75,25
и т. Д., Я все равно получаю результат от LIMIT 0, 25
Текущий запрос:
//$_GET['product'] = 1; //product id
$numberOfReviews = 25; //per page
$page = 3; //page
$_reviews = Mage::getModel('review/review')
->getCollection()
->addFieldToFilter('entity_pk_value', $_GET['product'])
->addStoreFilter(Mage::app()->getStore()->getId())
->addStatusFilter(Mage_Review_Model_Review::STATUS_APPROVED)
->setDateOrder('desc')
->setPageSize($numberOfReviews)
->addRateVotes()
->setCurPage($page);
Что я делаю не так?
1
1 answers
Я полагаю, что addRateVotes()
загружает коллекцию, попробуйте setCurPage()
перед этим вызовом.
После загрузки коллекции в нее нельзя вносить никаких изменений без предварительной очистки.
public function addRateVotes() { foreach ($this->getItems() as $item) { $votesCollection = Mage::getModel('rating/rating_option_vote') ->getResourceCollection() ->setReviewFilter($item->getId()) ->setStoreFilter(Mage::app()->getStore()->getId()) ->addRatingInfo(Mage::app()->getStore()->getId()) ->load(); $item->setRatingVotes($votesCollection); } return $this; }
2
Author: Luke Rodgers, 2014-12-11 16:41:24