我想用 CakePHP 构建一个小型图片库。因此,我创建了一个索引视图,它显示一个带有图像缩略图的 3x3 表格。对于分页和排序,我添加了以下代码:
图像控制器.php:
var $paginate = array(
'limit' => 9,
'order' => array('Image.id' => 'desc')
);
public function index() {
$data = $this->paginate('Image');
$this->set('images', $data);
}
索引.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')); ?>
这很好用。现在,当您单击缩略图时,将使用名为“view”的视图(例如 localhost/gallery/images/view/1)显示单个图像。与索引视图一样,该视图也应该有一个分页,其中当前选择了 id 为 1 的图像,并且您可以在其中导航到与当前选择的图像相关的 n 个上一个和下一个图像。此外,图像应该按照与索引视图上的图片相同的标准进行排序(例如按名称)。有没有一种优雅的方法可以用 CakePHP 解决这个问题?