atelfoto/sluggable

CakePHP 的 Sluggable 插件

安装: 16

依赖项: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:cakephp-plugin

5.0.0 2023-10-04 19:03 UTC

This package is auto-updated.

Last update: 2024-09-05 23:12:48 UTC


README

Build Status License Latest Stable Version Packagist PHP Version Support (specify version) GitHub repo size Code Qualité PHP Composer codecov

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'],
          ]
      );