diff options
author | Bharat Mediratta <bharat@menalto.com> | 2008-11-07 07:33:43 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2008-11-07 07:33:43 +0000 |
commit | 76436c0029f5be153f805a1be03e17ea26309906 (patch) | |
tree | 2ac99106d2600c5de8518621a22cda8702598ff2 /core/controllers | |
parent | 50a9848f383c988b720c99945fbb91f371e02fa0 (diff) |
Add automatic pagination. All you have to do is add <?= $theme->pager
?> to your theme file and you get a well formed pager. Themes can
customize this any way they want. A version that matches the mockup
is provided in the default theme.
Diffstat (limited to 'core/controllers')
-rw-r--r-- | core/controllers/album.php | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/core/controllers/album.php b/core/controllers/album.php index abe9039a..788ff9e2 100644 --- a/core/controllers/album.php +++ b/core/controllers/album.php @@ -26,13 +26,24 @@ class Album_Controller extends Template_Controller { return Kohana::show_404(); } - $this->template->content = new View("album.html"); + /** @todo: these need to be pulled from the database */ + $theme_name = "default"; + $page_size = 9; + + $page = $this->input->get("page", "1"); + $theme = new Theme($theme_name, $this->template); + $this->template->content = new View("album.html"); + $this->template->set_global('page_size', $page_size); $this->template->set_global('item', $item); - $this->template->set_global('children', $item->children()); + $this->template->set_global('children', $item->children($page_size, ($page-1) * $page_size)); $this->template->set_global('parents', $item->parents()); + $this->template->set_global('theme', $theme); - /** @todo: this needs to be data-driven */ - $this->template->set_global('theme', new Theme("default", $this->template)); + /** @todo: move this up to a base class */ + if (Session::instance()->get("use_profiler", false)) { + $profiler = new Profiler(); + print $profiler->render(); + } } } |