Yii2 генерация slug. Таблица транслитерации
есть behaviors, который генерит slug
public function behaviors()
{
return [
[
'class' => SluggableBehavior::class,
'attribute' => 'title',
'slugAttribute' => 'slug',
'immutable' => false,
'ensureUnique' => true,
],
];
}
Подскажите, подалуйста, как правильно переопределить таблицу тарнслитерации ? Спасибо.
Ответы (1 шт):
Автор решения: Moonvvell
→ Ссылка
У SluggableBehavior есть еще значение value которое можно переопределить чтобы оно использовало вашу функцию создания slug.
public function behaviors()
{
return [
[
'class' => SluggableBehavior::class,
'attribute' => 'title',
'slugAttribute' => 'slug',
'immutable' => false,
'ensureUnique' => true,
'value' => function() {
return возвращаете значение из вашей функции а не стандартной Inflector::slug
}
],
];
}
Другой способ - можете наcледовать класс SluggableBehavior и надписать функцию generateSlug.
Если не ошибаюсь, там нету никакой таблицы и переопределение идет с помощью регулярки. Но это надо глянуть Inflector::slug.