Zend Paginator в Symfony (для результатов поиска Lucene)
Я написал вопрос на форуме Symfony, но не получил результата. Конечно, я знаю, что люди могут быть заняты или недоступны, поэтому я не могу сразу получить ответ. Но мне действительно нужно это быстро, поэтому я тоже написал здесь. Если это как-то не разрешено, просто закройте вопрос. Благодарю.
Первоначально размещено здесь: http://forum.symfony-project.org/viewtopic.php?f=22&t=31537
Привет, у меня есть вопрос относительно использования Zend Pagination в Zend Lucene. Проверил старый форум и нашел это: forum.symfony-project.org/viewtopic.php?f=21&t=27342&p=103440&hilit=zend+pagination&sid=1cdc305c262c6b3cf79fdeef25761f34#p103440 Но для этого мне нужна дополнительная функция. Я попробовал код в посте выше, и он работает. Но как нам это реализовать?
Проверяя документацию Zend, я создаю файл представления в /web/view/scripts/pagination.php с кодом для файла, найденного здесь:
framework.zend.com/manual/1.10/en/zend.paginator.usage.html
С некоторыми изменениями для $this->url()
становиться link_to()
Тогда код в действии выглядит так:
$pager = Zend_Paginator::factory($query->execute()->getData());
$pager->setItemCountPerPage(3);
$pager->setCurrentPageNumber($request->getParameter('page', 1));
$pager->setDefaultScrollingStyle('Sliding');
Zend_View_Helper_PaginationControl::setDefaultViewPartial('_pagination.php');
$this->pager = $pager;
И ввиду: <?php echo $pager ?>
Проблема, конечно, правильно ли это делать? Затем, как я могу получить текущий URL и изменить его параметр в поле зрения? Для Zend, насколько я понимаю, это что-то вроде $this->url(array('page', 5))
, В любом случае, чтобы сделать это в Symfony?
Спасибо, прежде чем.
Я также проверил SO и получил это: stackru.com/questions/2002648/is-there-a-symfony-helper-for-getting-the-current-action-url-and-changing-one-or
Но я не могу получить доступ к $sf_request в pagination.php, упомянутом выше. Я думаю, это потому, что pagination.php обращается к фронт-контроллеру Zend. И самое странное, я могу получить доступ к помощнику по умолчанию, например, UrlHelper (пробовал url_for и link_to - все работает).
Ps. Извините за ссылки, выделенные жирным шрифтом - не может опубликовать более 1 ссылку сейчас.
1 ответ
Скрипты вида обычно имеют .phtml
расширение, а не .php
, это не имеет значения, но просто чтобы вы знали.
Попробуйте изменить
$this->pager = $pager;
к
$this->view->pager = $pager;