簡體   English   中英

CakePHP 2.0-圖片庫的分頁(具有不同的項目限制)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM