Tạo slug URL trong cakephp 3.8
Lượt xem: 3725
Tạo slug URL trong cakephp 3.8
Nếu chúng ta đã tạo 1 bài viết lúc này, thì việc lưu thuộc tính slug là thất bại và nó có giá trị là NULL. Giá trị slug là một kiểu đường dẫn (URL) an toàn của tiêu đề bài viết. Chúng ta sử dụng hàm beforeSave() để gọi lại (callback) của ORM để điền vào slug như sau:
// in src/Model/Table/ArticlesTable.php
namespace App\Model\Table;
use Cake\ORM\Table;
// the Text class
use Cake\Utility\Text;
// Add the following method.
public function beforeSave($event, $entity, $options)
{
if ($entity->isNew() && !$entity->slug) {
$sluggedTitle = Text::slug($entity->title);
// Cắt slug có độ dài tối đa theo cấu trúc database
$entity->slug = substr($sluggedTitle, 0, 191);
}
}
Mã này rất đơn giản và chưa check trùng lặp. Việc check trùng lặp slug sẽ được giải quyết trong tương lai.
Video
Nguồn https://book.cakephp.org/3.0/en/quickstart.html