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

しかし、私のコントローラーでは、いくつかの条件を処理します。私のページネーターインスタンスは、プロジェクトのバージョンのコレクションです。したがって、バージョンに関する情報がデータベースに正しく挿入されている場合、ホームディレクトリが正しく作成されているかどうかを処理します...コントローラーでチェックインしているすべて。私の目標は、これらの変数 (ほとんどの場合ブール値) を追加し、それを paginator インスタンスに追加して、ビューで反復処理し、メッセージ エラーを追加することです。

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 に答える