Zend Paginator в Symfony (для результатов поиска Lucene) - PullRequest
1 голос
/ 07 января 2011

Я написал вопрос на форуме Symfony, но не получил результата. Конечно, я знаю, что люди могут быть заняты или недоступны, поэтому я не могу сразу получить ответ. Но мне действительно нужно это быстро, поэтому я тоже написал здесь. Если это как-то не разрешено, просто закройте вопрос. Спасибо.

Первоначально опубликовано здесь: http://forum.symfony -project.org / viewtopic.php? Е = 22 & т = 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 / ручной / 1,10 / о / 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 и получил: / stackoverflow.com вопросы / 2002648 / вне-там-а-Symfony-хелперов для добывания-на-ток-действие-URL-и меняющийся-Одно- или

Но я не могу получить доступ к $ sf_request в pagination.php, упомянутом выше. Я думаю, это потому, что pagination.php имеет доступ к фронт-контроллеру Zend. И самое странное, я могу получить доступ к помощнику по умолчанию, например UrlHelper (пробовал url_for и link_to - все работает).

Ps. Извините за ссылки, выделенные жирным шрифтом - не могу опубликовать более 1 ссылки.

1 Ответ

0 голосов
/ 07 января 2011

Просмотр сценариев обычно имеет расширение .phtml, а не .php, это не имеет значения, но просто, чтобы вы знали.

Попробуйте изменить

$this->pager = $pager;

К

$this->view->pager = $pager;
...