将项添加到已创建的Zend_Paginator中?

时间:2010-02-05 09:54:33

标签: php zend-framework zend-paginator

在我的控制器中,我创建了一个像这样的paginator实例:

// On crée un objet paginator pour afficher un tableau de résultat.
$paginator = Zend_Paginator::factory($versions->getVersions($projectId));
$paginator->setCurrentPageNumber($this->_getParam('page'));
$paginator->setItemCountPerPage(15);

然后我在我的视野中迭代:

<? foreach ($this->paginator as $item): ?>
    <? ($flag == "pair") ? $flag = "impair" : $flag = "pair"; ?>
    <tr class="<?= $flag; ?>">
        <!-- version nom de la version -->
        <td>
            <a href="<?= $this->url(array('module' => "admin", 'controller' => "version", 'action' => "index", 'project' => $item['idversion'])); ?>">
                <?= $item['lab_version']; ?>
            </a>
        </td>
        <!-- version nom du project -->
        <td><?= $item['name_patrimony']; ?></td>
        <!-- version retrodocumente ? -->
        <td class="version-retrodoc">
            <a href="<?= $this->url(array("module" => "doxygen", "controller" => "doxygen", "action" => "create", "version" => $item['idversion']), null, true); ?>">
                <img src="<?= $this->baseUrl() . '/img/system-run.png' ?>" alt="retrodocumenté"/>
             </a>
        </td>
    </tr>
<? endforeach; ?>

但在我的控制器中,我会处理一些条件。我的paginator实例是项目版本的集合。如果正确创建主目录,如果有关版本的信息正确插入数据库中,我将处理...所有正在检查控制器。 我的目标是添加这些变量(大多数时候是boolean)并将其添加到paginator实例中,然后我将在视图中迭代它并添加消息错误。

PS:如果有人能告诉我如何在Stackoverflow中正确格式化PHP代码,那将会有所帮助: - )。

1 个答案:

答案 0 :(得分:1)

我认为应该可以为您的paginator中的项添加值。但是,确切的方法取决于您在分页器中使用的适配器。例如,我将提供一个片段,显示如何向使用数组适配器的分页器中的项添加值。

    // somewhere in your controller:

    $input = array(
        array(
            'firstname' => 'somename',
            'lastname' => 'somelastname',
            'location' => 'somelocation'
        ),
        array(
            'firstname' => 'somename2',
            'lastname' => 'somelastname2',
            'location' => 'somelocation2'
        )
    );

    $paginator = Zend_Paginator::factory($input);
    $paginator->setCurrentPageNumber(1);

    foreach ($paginator as $key => &$value) {

        // performe some logic to check if the home directory has been correctly created
        // and the boolean value to represent this (in this example it is always false).
        $value['newVariable'] = false;
        var_dump($value);
    }

有点晚了,但我希望这对你有帮助,也许对其他可能有类似问题的人有帮助。