Tạo slug URL trong cakephp 3.8

Lượt xem: 3806

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

 

Có thể bạn quan tâm