Önceden oluşturulmuş bir Zend_Paginator öğe ekleme?

1 Cevap php

benim denetleyicisi böyle bir paginator örneğini oluşturduk:

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

Sonra böyle benim görüşüme üzerinde yineleme:

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

But in my controller I would handle some conditions. My paginator instance is a collection of version of project. So I would handle if the home directory has been correctly created if the information about the version is correctly inserted in the db... All that are checking in the controller. My goal is to add these variables (most of the times boolean) and add it to paginator instance so then I would iterate over it in the view and add message error.

PS: Birisi nasıl Stackoverflow doğru php kodunu biçimlendirmek için söyle olsaydı yararlı :-) olacaktır.

1 Cevap

Ben sizin paginator bir öğeye bir değer eklemek mümkün olması gerektiğini düşünüyorum. Ancak, tam metodoloji paginator kullanmak sizin adaptör bağlıdır. Örnek olarak, ben dizi adaptör kullanan bir paginator bir öğeye bir değer katmak için nasıl gösteren bir parçasını vereceğiz.

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

Biraz geç, ama umarım bu irade yararlı eğer sana değil, belki benzer bir sorun var bazı diğer insanlara.