miketomlin
Новичок
Нафиг-нафиг. Максимально отделяй морду сайта от CMS'ки (админки). Можешь даже сначала сделать морду, а потом админку. Только учитывай при создании морды, как потом ее контентом управлять из админки.Ну вот есть статья, там должна быть кнопка редактировать?
Это сложнее и поиск по таблицам будет дольше. Я выше написал, что различать осн. сущность и редирект можно по флажку или отдельному полю. Соответственно таблица одна для одной разновидности сущности. Слаги уже давно хранятся вместе с соотв. сущностями. Иное – это древность, когда слаги были всего лишь примочкой для красоты. Также выше писал, что тебе для своего блога можно пока забить на редиректы. Они нужны, когда ты за кем-то подчищаешь адреса. Или когда в твой блог пишут обычные юзеры, которые меняют заголовки/слаги каждую неделю. Выше уже рассказали, как делается редирект для такого случая: для выбора сущности ты ориентируешься на числовой id и делаешь редирект, если прилагаемый к этому id слаг на входе не соответствует заложенному в БД. Тебе пока это тоже нафиг не надо. Делай просто /<slug> или /post/<slug>Для слагов лучше сделать отдельную таблицу? Чтобы и редиректы хранить.
P.S. Для первого варианта можешь роуты хранить отдельно, а потом обходить таблицу постов безусловно или за счет какого-то обобщенного роута на дне твоего «стека». Также есть фишка все слаги/сущности «первого порядка» хранить в корневой таблице. Уже давал ссылку на пример дампа такой таблицы. Вот еще один вариант (см. первую таблицу): https://gency.ru/g-drive-blog (готовые посты от всего прочего отделяются по полю category, в частности пост становится публичным/готовым, т.е. попадает в списки, когда ты ему назначаешь категорию, отличную от нулевой или NULL'вой; в текущей версии есть категория Draft, так что скорее всего черновики помечаются нулевой категорией).
Последнее редактирование: