[英]CakePHP 2.0 - Pagination for an image gallery (with different item limits)
我想用CakePHP建立一個小型圖片庫。 因此,我創建了一個索引視圖,該視圖顯示帶有圖像縮略圖的3x3表。 對於分頁和排序,我添加了以下代碼:
ImagesController.php:
var $paginate = array(
'limit' => 9,
'order' => array('Image.id' => 'desc')
);
public function index() {
$data = $this->paginate('Image');
$this->set('images', $data);
}
index.ctp:
<?php echo $this->Paginator->sort('id', 'Id'); ?> |
<?php echo $this->Paginator->sort('name', 'Title'); ?>
...
<?php echo $this->Paginator->prev(' << Previous', null, null, array('class' => 'disabled')); ?>
<?php echo $this->Paginator->numbers(array('first' => 2, 'last' => 2)); ?>
<?php echo $this->Paginator->next('Next >> ', null, null, array('class' => 'disabled')); ?>
這很好。 現在,當您單擊縮略圖時,將使用名為“視圖”的視圖(例如localhost / gallery / images / view / 1)顯示單個圖像。 與索引視圖一樣,此視圖也應具有分頁功能,其中當前選擇了ID為1的圖像,並且可以在其中導航到相對於當前所選圖像的前n張和后n張圖像。 此外,應按照與索引視圖上的圖片相同的標准對圖像進行排序(例如,按名稱)。 有沒有一種優雅的方法可以使用CakePHP解決此問題?
我可以通過將頁碼從原始分頁傳遞到詳細信息視圖來實現。
如果您正在查看第2
頁的圖像ID 1
,則您的URL類似於:
/gallery/images/view/1/2
那是:
/gallery/images/view/:id/:page
從此信息中,您可以從指定頁面上的索引操作中查詢相同的分頁數據,並提供該數據的后退和下一個導航選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.