Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 02.11.2018 10:02:55

Как реализовать привязку SEO-полей?

Доброго дня!

Как это лучше, красивее, и оптимальнее будет сделать?
В прошлом проекте у меня была отдельная модель SEO, у каждой записи был ключ, по которому она подтягивалась в контроллерах для соответствующих представлений. Понятное дело, костыльно и неудобно.
Сейчас промелькнула мысль привязать к роутам, но это тоже некрасиво и тоже статично.
Еще вариант - добавить SEO-поля напрямую, в те модели, где они потенциально могут понадобиться. Но этот вариант тоже с недостатками, например, для главной страницы, страницы сброса паролей и т п, моделей нет.
Все перечисленные варианты реализуемы, и будут работать. Но, может быть, кто-нибудь подскажет решение получше?

С уважением.

Не в сети

#2 02.11.2018 12:59:02

Re: Как реализовать привязку SEO-полей?

Ну так проблема в видимо том, что сами адреса страниц захардкодены. Этим "обычное" приложение Laravel отличается от CMS типа WP.

Это довольно естественно привязять набор полей для SEO к адресу страницы. Другими словами к маршруту. В коробочных CMS маршруты описаны через слаги (slug) и всё это, включая SEO поля, редактируется админом без помощи разработчика. Преврати приложение в CMS и будет счастье.


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 02.11.2018 13:11:28

Re: Как реализовать привязку SEO-полей?

Ты суть проблемы ухватил верно.
А решение предложил стратегическое :-).
Однако, на этом этапе, пока что, есть возможность "зацэмээсить".
"Там еще только фундамент заложили" (С) ))
Может, оно и верно.
Спасибо!
Учту и прикину.

Не в сети

#4 14.11.2018 10:14:09

Re: Как реализовать привязку SEO-полей?

Решил так.
SEO - отдельная сущность. С другими моделями полиморфическая связь. id-шник по связанной модели, равный 0 подразумевает список (метод index в контроллерах).

Не в сети

Подвал раздела