1

在我的控制器中,我创建了一个分页器实例,如下所示:

// 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; ?>

但在我的控制器中,我会处理一些条件。我的分页器实例是项目版本的集合。因此,如果有关版本的信息正确插入到数据库中,我会处理是否已正确创建主目录...所有这些都在控制器中检查。我的目标是添加这些变量(大多数情况下是布尔变量)并将其添加到分页器实例中,这样我就可以在视图中对其进行迭代并添加消息错误。

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

4

1 回答 1

1

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

    // 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);
    }

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

于 2011-02-04T15:49:18.903 回答