ommu/yii-sluggable

此包已废弃,不再维护。未建议替代包。

从一个或多个数据库字段中生成一个唯一的URL

安装: 28

依赖: 8

建议者: 0

安全: 0

星标: 0

关注者: 2

分支: 0

开放问题: 0

类型:ommu-extension

1.0.2 2018-07-05 02:44 UTC

This package is auto-updated.

Last update: 2022-10-07 11:49:43 UTC


README

使用此行为,您可以为表中的一个或多个列生成一个URI。有些人称它为永久链接,其他人称它为slug或可读URL。

查看最新版本: github.com/mintao/yii-behavior-sluggable

想象一个博客表

| id | category | title                             |
|----+----------+-----------------------------------|
|  1 | security | NASA Server hacked by hacker kids |
| ...

您是否希望有一个更好的URL呢?

http://your-blog.org/index.php?r=blog/show&id=1422

关于什么?

http://your-blog.org/security/nasa-server-hacked-by-hacker-kids

谷歌会喜欢您 ;)

如何完成它

  • 给您的表添加一个名为 "slug" 的列
  • 下载此扩展并将它放入您的protected/extensions文件夹中
  • 将此行为添加到您的模型中(如下所示)

如果您正在使用git,我推荐

cd <YOUR YII-PROJECT>
mkdir -p protected/extensions/behaviors (optional)
git submodule add git://github.com/mintao/yii-behavior-sluggable.git protected/extensions/behaviors/SluggableBehavior

此行为为您模型的示例配置

/**
 * Behaviors for this model
 */
public function behaviors(){
  return array(
    'sluggable' => array(
      'class'=>'ext.yii-sluggable.SluggableBehavior',
      'columns' => array('category', 'title', 'author.name'),
      'unique' => true,
      'update' => true,
    ),
  );
}
  • class 定义了找到 SluggableBehavor.php 的路径
  • columns 需要是一个数组,用于生成slug的字段
  • unique 将此设置为true以确保slug的唯一性(如果已存在,则会在重复的slug中添加数字)
  • update 如果每次更改条目时都应更新slug,则将此设置为true。如果slug只应创建一次,则将其设置为false

下载此扩展(并对其进行分支操作)

github.com/mintao/yii-behavior-sluggable

变更日志

  • 2014-08-25 稍微提高速度
  • 2011-04-30 添加了 update 功能
  • 2011-06-23 添加了对依赖模型的支持(请参阅示例配置,author.name)