ommu / yii-sluggable
此包已废弃,不再维护。未建议替代包。
从一个或多个数据库字段中生成一个唯一的URL
1.0.2
2018-07-05 02:44 UTC
Requires
- php: >=5.3.2
- oomphinc/composer-installers-extender: ^1.0
- yiisoft/yii: >=1.1.14
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)