-----
Phần x10. CakePHP2
– Bài tập Link “thân thiện”
Xem (clip số 16BT – chickenrainshop):
1. Tạo link “thân thiện” cho chức năng xem phân loại sách
Hiện tại đường dẫn của chức năng phân loại sách có dạng:
Nghĩa là action view đang truy vấn dựa theo id, giờ sẽ viết
lại hàm view, để nó truy vấn theo trường slug của bảng categories.
[CategoriesController.php, action view]
public function view($slug = null) {
$options
= [
'conditions'
=> ['Category.slug' => $slug]
];
$category
= $this->Category->find('first', $options);
if
(empty($category0)) {
throw
new NotFoundException(__('Không tìm thấy thể loại sách này'));
}
$this->set('category',
$category);
}
Yêu cầu cần làm tiếp theo là chuyển đường dẫn truy vấn dạng:
Về dạng:
http://local.chickenrainshop/danh-muc
/slug
Mở tập tin routes.php, và thêm vào dòng mã sau:
Router::connect('/danh-muc/:name',
['controller' => 'categories', 'action' => 'view'], ['pass' => ['name']]);
2. Tạo link “thân thiện” cho chức năng xem thông tin tác giả
[WritersController.php, action view] viết lại như sau:
public function view($slug = null) {
$options
= [
'conditions'
=> ['Writer.slug' => $slug]
];
$writer
= $this->Writer->find('first', $options);
if(empty($writer))
{
throw
new NotFoundException(__('Không tìm thấy tác giả này!'));
}
$this->set('writer',
$writer);
}
[routes.php] thêm dòng mã sau:
Router::connect('/tac-gia/:name',
['controller' => 'writers', 'action' => 'view'], ['pass' =>
['name']]);
-----------
Cập nhật 28/4/2017
-----------