2011-03-08 2 views
2

Предупреждение: Нет частичный вид при условии, и по умолчанию не установлен в /Applications/MAMP/htdocs/getv/library/Zend/Paginator.php на линии 465Paginator рамки Зенд предупреждение

Это предупреждение, которое я получаю при загрузке paginator; может кто-нибудь дать мне решение или советы, где моя проблема может быть?

public function getPaginator() { 
    if ($this->view === null) { 
     $this->view = $this->getActionController()->view; 
    } 

    $db = Zend_Db_Table::getDefaultAdapter(); 

    /* @var $searcher ZendX_Searcher_Abstract */ 
    foreach ($this->searchers as $searcher) { 
     $searcher->setRequest($this->getRequest()) 
       ->setView($this->view) 
       ->setSelect($this->select) 
       ->perform(); 
    } 

    $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($this->select)); 
    $paginator->setCurrentPageNumber($this->getRequest()->getParam('page', 1)); 
    $paginator->setPageRange(7); 

    if ($this->perPage > 0) { 
     $paginator->setItemCountPerPage($this->perPage); 
    } else { 
     $paginator->setItemCountPerPage(PHP_INT_MAX); 
    } 

    return $paginator; 
} 
+2

Мне кажется, вам нужно: 'Zend_View_Helper_PaginationControl :: setDefaultViewPartial ('paginator.phtml'); ' – RobertPitt

ответ

0

Эта ошибка не запускается с вашего контроллера, а скорее из вашего вида.

Показать сценарий, где вы называете <?php echo $this->paginationControl(...) ?>

Для справки, вам нужно поставить по крайней мере, две вещи, чтобы помощник в PaginationControl вид:

  1. A Zend_Paginator объект. Поставляется в качестве первого аргумента помощнику или устанавливая его как свойство paginator вашего представления.
  2. Частичный путь просмотра. Поставляется в качестве третьего аргумента помощнику вида (после scrollingStyle) или через статический метод, описанный Робертом в его комментарии.
1

Эй У меня была такая же проблема. Я использую помощник вида zend pagination view. Решение, которое я получил, немного странно. В файле вид (.phtml) Я проверял, как

if(isset($this->records) && $this->records!='') 

, но позже, чем я изменить это

if(isset($this->records) && sizeof($this->records) > 0) 

и моя проблема решена. Надеюсь, это может быть полезно для вас и для других.

1

Правильное решение ИМО, что предлагает RobertPitt:

Zend_View_Helper_PaginationControl::setDefaultViewPartial ('paginator.phtml'); 
0

В моем случае я не даю, чтобы посмотреть пустой объект Paginator, но пустая строка, это, чтобы избежать первоначального не фильтрованного поиска. я решил таким образом в моем view.phtml:

if (is_a($this->paginator,'Zend\Paginator\Paginator')) { 
    // paginator print 
} 

Я надеюсь, что это поможет.

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