Phần x7. CakePHP2
– Bài tập Phân trang
Xem (clip số 13 – chickenrainshop):
Bài tập về phân trang, thực hiện phân trang cho trang hiển
thị các tác giả.
1. Chuyển đường dẫn http://local.chickenrainshop/writers/index
sang dạng http://local.chickenrainshop/tac-gia
Vào Config/routes.php, thêm vào dòng mã sau:
Router::connect('/tac-gia', ['controller' => 'writers',
'action' => 'index']);
2. Hiển thị nội dung và phân trang
Hàm index trong controller Writers
public function index() {
$this->paginate=[
'fields'
=> ['name', 'slug'],
'limit'
=> 5,
'order'
=> ['name' => 'ASC'],
'paramType'
=> 'querystring'
];
$writers
= $this->paginate();
$this->set('writers',
$writers);
}
Tập tin index.ctp trong view Writers
<div class="writers index">
<h2><?php
echo __('Các tác giả'); ?></h2>
<h4><?php
echo $this->paginator->sort('name', 'Xếp theo thứ tự ngược lại');
?></h4>
<?php
foreach($writers as $writer): ?>
<?php echo
$writer['Writer']['name'] ?> <br>
<?php
endforeach ?>
<br>
<hr>
<br>
<p>
<?php
echo $this->paginator->counter('Trang {:page}/{:pages}, hiển thị
{:current} tác giả trong tổng số {:count} tác giả.'); ?> <br>
<?php
echo $this->paginator->prev('Quay lại'); ?>
<?php
echo $this->paginator->numbers([
'separator'
=> ' - ',
'before'
=> '| ',
'after'
=> ' |'
]);
?>
<?php
echo $this->paginator->next('Kế tiếp'); ?>
</p>
</div>
-----------
Cập nhật 25/4/2017
-----------