Yii2 slug behavior (Semantic URL) ¶
This solution allows you to generate good slug urls. (slug wiki).
Direct generation is engaged in a proven solution cocur/slugify.
Installation ¶
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist skeeks/yii2-slug-behavior "*"
or add
"skeeks/yii2-slug-behavior": "*"
How to use ¶
Attach the behavior in your model:
public function behaviors()
{
return [
'slug' => [
'class' => 'skeeks\yii2\slug\SlugBehavior',
'slugAttribute' => 'slug', //The attribute to be generated
'attribute' => 'name', //The attribute from which will be generated
// optional params
'maxLength' => 64, //Maximum length of attribute slug
'minLength' => 3, //Min length of attribute slug
'ensureUnique' => true,
'slugifyOptions' => [
'lowercase' => true,
'separator' => '-',
'trim' => true
//'regexp' => '/([^A-Za-z0-9]|-)+/',
//'rulesets' => ['russian'],
//@see all options https://github.com/cocur/slugify
]
]
];
}
Yandex translit http://translit-online.ru/yandex.html:
public function behaviors()
{
return [
'slug' => [
'class' => 'skeeks\yii2\slug\SlugBehavior',
'slugAttribute' => 'slug', //The attribute to be generated
'attribute' => 'name', //The attribute from which will be generated
// optional params
'slugifyOptions' => [
'rulesets' => [
skeeks\yii2\slug\SlugRuleProvider::YANDEX,
'default'
]
]
]
];
}
Links ¶
Demo (view urls) ¶
SkeekS CMS (Yii2) — fast, simple, effective!
skeeks.com | cms.skeeks.com
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.