Zend Paginator变量

时间:2014-08-03 23:38:28

标签: php zend-framework pagination zend-paginator

我尝试将Zend_PaginatorZend_Db_Table_Abstract一起使用来获取数据行集。

我从变量接收数据时遇到了问题。

我的错误内容

  

" 致命错误:无法在C:\ xampp \ htdocs \ applications \ quickstart \ application \ views \ scripts \ index \ text.phtml中使用Zend_Paginator类型的对象作为数组8"

Text.php:

class Application_Model_Text extends Zend_Db_Table_Abstract
{
    protected $_name = 'text';

    public function getTexts($page)
    {
        $query = $this->select();

        $paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbSelect($query));
        $paginator->setCurrentPageNumber($page)->setItemCountPerPage(2);

        return $paginator;
    }
}

IndexController.php:

public function textAction()
{
    $page = $this->getParam('page');
    $textModel = new Application_Model_Text();
    $data = $textModel->getTexts($page);
    $this->view->text = $data;
}

pagination.phtml:

<div id="pagination">
    <?php $pageVariable = ($this->page)?$this->page: 'page' ?>
    <a href="<?= $this->url(array($pageVariable => $this->previous)) ?>">Back</a>
    <p>Strona <?= $this->current ?></p>
    <a href="<?= $this->url(array($pageVariable => $this->next)) ?>">Next</a>
</div>

text.phtml:

<?php $text = $this->text; ?>
<div id="pagination-box">
    <?= $this->paginationControl($text, 'Sliding', array('pagination.phtml', 'default')) ?>
</div>
<div>
    <div id="text">
        <p><?= $text['text'] ?></p>
    </div>
</div>

任何人都知道我做错了什么? 我是Zend的新手,但我真的很喜欢这个框架 提前感谢您的帮助:)

2 个答案:

答案 0 :(得分:2)

变化:

<div id="text">
    <p><?= $text['text'] ?></p>
</div>

To('text'是一组项目,因此您需要迭代):

<?php foreach($text as $row):?>
  <div id="text">
  <?= $row->text ?>
  </div>
<?php endforeach ?>

答案 1 :(得分:0)

Zend paginator返回行集数组,因此在index.phtml文件$text中不是数组,它是一个对象。尝试使用属性,例如:

<?= $text->text; ?>