2015-02-26 2 views
0

Мне нужен вспомогательный элемент управления разбиением на страницы внутри моего контроллера, который возвращает JsonModel, а не простой вид.zf2 - использование вспомогательного элемента управления разбиением на страницы в контроллере

это код

$paginationHelper = new \Zend\View\Helper\PaginationControl(); 
    $paginationHelper->setView(new PhpRenderer()); 
    $paginationTxt = $paginationHelper(
     $pagination, 
     'Sliding', 
     array('user/user/pagination', 'User'), 
     array('route' => 'user', 'action' => $action) 
    ); 

$ пагинация является экземпляром Zend \ Paginator \ Paginator

ошибка

No paginator instance provided or incorrect type 

если я поставил код внутри посмотреть все отлично работает

изменить1:

я попытался

 $view = new PhpRenderer(); 
     $view->paginationControl($pagination, 
      'Sliding', 
      array('user/user/pagination', 'User'), 
      array('route' => 'user', 'action' => $action)); 

же результат

я изменить код таким образом

$ paginationHelper-> setDefaultViewPartial ('pagination.phtml');

  $paginationTxt = $paginationHelper($pagination, 
       'Sliding', 
       null, 
       array('route' => 'user', 'action' => $action)); 

все отлично работает

+0

Что diş ваши возвращения действия? – ceadreak

+0

возвращение json модель. это ajax-вызов '$ json = new JsonModel ($ out);' – ciro

ответ

1

Получить его с помощью ViewHelperManager

$viewHelperManager = $this->getServiceLocator()->get('ViewHelperManager'); 
$paginationHelper = $viewHelperManager->get('paginationControl'); 
+0

я уже пробовал. такой же результат – ciro

+0

Итак, проблема в том, как вы создаете свой экземпляр paginator. Не могли бы вы вставить, как вы его создаете? – itrascastro

+0

, пожалуйста, прочитайте обсуждение. Я создаю свой пейджинговый адаптер, но когда вы переходите к помощнику paginationControl, чтобы получить сообщение об ошибке, которое я указал. Этого не происходит, если я помещаю тот же код в вид – ciro

Смежные вопросы