atelfoto / sluggable
CakePHP 的 Sluggable 插件
5.0.0
2023-10-04 19:03 UTC
Requires
- php: >=8.1
- cakephp/cakephp: ^5.0.0
Requires (Dev)
- phpunit/phpunit: ^10.1
This package is auto-updated.
Last update: 2024-09-05 23:12:48 UTC
README
1. 要求
- cakephp 5.x.x
2. 安装
您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。
安装 composer 包的推荐方式是
composer require atelfoto/sluggable
- 或者在 composer.json 中添加它
"require": { "atelfoto/sluggable": "1.*" },
- 在
initialize();中的表单中添加此行
//src/Model/Table/model.php $this->addBehavior('Sluggable.Sluggable');
3. 配置
3.1. 模型表
- 字段
- 默认值: name
- 要生成 slug 的字段
$this->addBehavior('Sluggable.Sluggable', [ 'field' => 'your-field' ] );
- Slug
- 默认值: slug
- 您数据库中的 slug 字段名称
$this->addBehavior('Sluggable.Sluggable', [ 'field' => 'your-field', 'slug' => 'your-slug' ] );
- 替换
-
默认值:
- -
用于替换空格的替换字符
$this->addBehavior('Sluggable.Sluggable', [ 'replacement' => '_' ]);
-
3.2. 控制器
-
在查找器中使用
public function view($value = null) { $query = $this->Models->findBySlug($value)->firstOrFail(); $this->set(compact('query')); }
3.3. 路由
-
在路由中
//config/routes $routes->connect( '/the title/:slug', ['controller' => 'YourController', "action" => "view"], [ "_name" => "the title", "pass" => ['slug'], ] );