2

警告:在第 465 行的 /Applications/MAMP/htdocs/getv/library/Zend/Paginator.php 中未提供视图部分且未设置默认值

这是我在加载分页器时收到的警告消息;有人可以给我解决问题的方法或提示吗?

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;
}
4

4 回答 4

1

嘿,我遇到了同样的问题。我正在使用 zend 分页视图助手。我得到的解决方案有点奇怪。在我正在检查的视图(.phtml)文件中

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

但后来我把它改成

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

我的问题解决了。希望,它可能对您和其他人有所帮助。

于 2012-05-02T07:06:27.600 回答
1

正确的解决方案是 IMO RobertPitt 提出的:

Zend_View_Helper_PaginationControl::setDefaultViewPartial ('paginator.phtml' );
于 2012-05-05T21:26:44.767 回答
0

此错误不是从您的控制器触发的,而是从您的视图触发的。

显示您调用的脚本<?php echo $this->paginationControl(...) ?>

PaginationControl作为参考,您需要向视图助手提供至少两件事:

  1. 一个Zend_Paginator对象。作为第一个参数提供给助手或将其设置为paginator视图的属性。
  2. 部分视图路径。作为视图助手的第三个参数(在 之后scrollingStyle)或通过 RobertPitt 在他的评论中提到的静态方法提供。
于 2011-03-29T04:57:18.090 回答
0

在我的情况下,我不会查看空分页器对象而是空字符串,这是为了避免初始未过滤的搜索。我在view.phtml中以这种方式解决了:

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

我希望这会有所帮助。

于 2015-02-14T12:26:52.497 回答