Laravel Как автоматом сгенерировать slug строку на руусском языке ?

  • Автор темы Автор темы mstdmstd
  • Дата начала Дата начала

mstdmstd

Новичок
Всем привет
Обычно в laravel приложениях когда мне нужно автоматом сгенерировать slug строку я использую
cviebrock/eloquent-sluggable плагин и он успешно справляется с английским текстом

Понадобилось сделать сайт на русском языке и из строки
Код:
Свадебные фотографии

eloquent-sluggable сгенерировал слаг
Код:
svadebnye-fotografii
Что конечно неправильно
И хотя самому сгенерировать строку
Код:
свадебные-фотографии
несложно, не подскажите удобные тулзы для этого с проверкой уникальности тагов в базе.


И как русский текст работает в слагах ? На что нужно обратить внимание при SEO реализации ?
Пожалуйста поделитесь опытом или ссылку на хорошую доку ...

Спасибо!
 
Сейчас использовать целый пакет для этого не нужно. Вот здесь пример как можно реализовать простым мутатором.

Хелпер slug отлично справляется с задачей и подходит для SEO. Если нужно именно "свадебные-фотографии", используй ларавелевские хелперы lower и replace или их PHP аналоги.
 
Думаю это неправильное решение. Если значения схожи, то может быть сгенерировано несколько одинаковых слагов.
 
Это просто пример. Добавь проверку на дубликаты в цикле while типа $this->where('slug', $slug)->exists(), если боишься, что подобное может произойти или добавляй ID в URL, как сделано на этом форуме. Очень простых решений море. Использовать пакет сейчас - это оверкилл. Я сам его использовал и даже писал свой под русские слаги, сейчас в этом нет необходимости.
 
Спасибо за полезную инфу! И кстати а как правильно перевести "slug" на русский язык?
 
Сверху