Chciałem się zapytać o wykorzystanie Zend Paginator do wyświetlenia danych z tablicy do tabeli.
Mam tablicę o konstrukcji:
Array ( [0] => Array ( [numer_karty] => 0001 [nazwisko] => kowalski [imie] => jan [telefon] => 876543219 [email] => test@email.pl ) [1] => Array ( [numer_karty] => 0002 [nazwisko] => nowak [imie] => roman [telefon] => 123456789 [email] => ttest2@gmail.com ) )
Tablica jest importowana w modelu z pliku CSV.
Funkcja import:
public function import($file) { $headers = $row; $rows[] = array_combine($headers, $row); } $adapter = new Zend_Paginator_Adapter_Array($rows); return $adapter; }
W kontrolerze wykonuję:
$importCSV= new Model_KartyCsv; $filename="test.csv"; $adapter=$importCSV->import($filename); $paginator = new Zend_Paginator($adapter); $paginator->setItemCountPerPage(30); $page = $this->_request->getParam('strona', 1); $paginator->setCurrentPageNumber($page); $this->view->paginator = $paginator;
a w widoku próbuję wyświetlić:
<?php echo $this->paginationControl($this->paginator, 'Sliding', 'paginator/paginator.phtml'); ?></p> <table class="standard align-center"> <tr> </tr> <?php foreach ($this->paginator as $user): ?> <tr class="<?php echo $this->cycle(array("light", "dark"))->next() ?>"> </tr> <?php endforeach; ?> </table>
Widać, że coś do tabeli wczytuje, ponieważ wyświetla się prawidłowa ilość wierszy, natomiast w tabeli nie mam żadnych danych. Wnioskuję, że źle odwołuję się do pól w tablicy. Jak to zrobić prawidłowo, by wyświetlić te dane?