Использую zelenin/yii2-slug-behavior.
В модели:
Код: Выделить всё
public function rules()
{
return [
.....
[['slug'], 'filter', 'filter' => function ($value) {
if (empty($value)) {
return Inflector::slug(TransliteratorHelper::process(substr($this->name,0,70)));
} else {
return Inflector::slug(substr($value,0,70));
}
}],
[['slug'], 'unique'],
[['slug'], 'string', 'max' => 68],
[['slug'], 'required', 'enableClientValidation' => false],
]
}
public function behaviors()
{
return [
...
'slug' => [
'class' => 'Zelenin\yii\behaviors\Slug',
'slugAttribute' => 'slug',
'attribute' => 'name',
'ensureUnique' => true,
'replacement' => '-',
'lowercase' => true,
'immutable' => false,
'transliterateOptions' => 'Russian-Latin/BGN; Any-Latin; Latin-ASCII; NFD; [:Nonspacing Mark:] Remove; NFC;'
],
];
}
Как сделать так, чтобы обрезка происходила и при этом формировались уникальные значения slug?