VisualPaginato help me please
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- zuhla
- Člen | 33
Dobrý den, mám problém se zprovozněním VisualPaginatorem. Mám ho k použítí na stránkování příspěvků z databáze (MySQL).
Presenter:
public function renderDefault()
{
$vp = $this['vp']; hodnotě
$paginator = $vp->paginator;
$paginator->itemsPerPage = 2;
$paginator->itemCount = PostsModel::fetchAll();
$paginator = PostsModel::fetchAll($paginator->offset, $paginator->itemsPerPage);
$this->template->posts = PostsModel::fetchAll();
}
protected function createComponentVp()
{
return new VisualPaginator;
}
Model:
public static function fetchAll($limit = NULL, $offset=NULL)
{
return dibi::fetchAll('
SELECT *
FROM [posts]
ORDER BY [date]
', dibi::DESC,
'%if', isset($limit), 'LIMIT %i %end', $limit,
'%if', isset($offset), 'OFFSET %i %end', $offset
);
}
Všem dopředu děkuji za jakoukoliv radu.
S pozravem Patrik Krhovský
Editoval zuhla (2. 10. 2010 20:06)
- Proki
- Člen | 66
Napsal bych to spíše takto:
<?php
public function renderDefault()
{
$vp = $this['vp'];
$paginator = $vp->paginator;
$paginator->itemsPerPage = 2;
$paginator->itemCount = count(PostsModel::fetchAll()); //nebo jiný SQL dotaz pro zjištění celkového počtu
$this->template->posts = PostsModel::fetchAll($paginator->length, $paginator->offset);
}
protected function createComponentVp()
{
return new VisualPaginator;
}
?>
Editoval Proki (2. 10. 2010 20:36)