DEV: Добавление страниц
Были добавлены страницы, которые можно использовать во всём проекте. На данный момент участники, которые создали Блоги могут добавить страницы к существующим блогам (о блоге, обратная связь и т.д.) и персонал теперь имеет возможность создавать служебные страницы (о нас, правила и т.д.).
Изменения на GitHub внесены, можно тестировать. Кто ставить «с нуля» в базу уже внесены необходимые изменения. Раздел Информация добавлен, добавлены две служебные страницы.
У кого есть сайт, то кроме замены файлов необходимо сделать изменения в базе данных. Они касаются двух полей. Одно поле мы переименуем, другое добавим.
Запрос:
ALTER TABLE `posts` CHANGE `post_type` `post_feature` SMALLINT(6) NOT NULL DEFAULT '0' COMMENT '0 — discussion, 1 — question...';
ALTER TABLE `posts` ADD `post_type` VARCHAR(32) NOT NULL DEFAULT 'post' COMMENT 'Post, page...' AFTER `post_feature`;
Т.е. существующее поле post_type
сперва мы меняем на post_feature
, а далее вместо измененного post_type
(оно стало другим) добавляем post_type
.
Следующее, что необходимо сделать, — это создать тему с именем «Информация», где SLUG
(URL) этой темы будет info.
После создания, идем в настройки этой темы и меняем её тип на Раздел.
После этого, мы сможем добавить в неё 2 служебные страницы.
Их URl (slug) находится в файле конфигурации: config/facets.php
:
'page-one' => 'information',
'page-two' => 'privacy',
Я специально пока не делал более гибкую систему связанную с таблицей в базе (куда могут переехать некоторые файлы конфигурации). Возможно в ближайшее время это будет сделано.
Вопросы, конструктивные замечания и т.д. приветствуются. Изменение на самом деле большое (как бывает, смена фактически 1 поля тянет за собой такое).
Упрощенная, плоская схема связанная с навигацией
Она может быть реализована сложней, но тут главное, что свойства деревьев, задано сейчас 3: Темы, Блоги, Секции (где пока только есть секция Информация), упростил, назвал Служебные страницы.
Такая навигация (корневых граней) есть и в админке:
В оригинале, взаимодействие не такое «плоское» и дело не в том, что есть «всё со всеми»… Сейчас важно лишь понимание «корневых» ветвей.
P.S. графики не могу рисовать, — раз. А два, они иногда могут значительно всё усложнить. На самом деле система достаточно простая.
Мы всегда создаем или Тему или Блог. В любой момент из Блога мы можем сделать Тему (или обратно), как и разделы. Это используется для навигации. Навигация объединяет чего-то (посты, например, сайты в каталог, программы). В ленте, мы видим только то, на что подписаны. Сама навигация может быть разной: темы, категории…
Пример страницы: https://agouti.ru/info/information
Практически все файлы были затронуты (109) и добавлено 2217. Большое изменение, необходимо обязательно протестировать. Возможно ошибки.
А пользователи, которые не создали Блоги могут добавлять страницы? И в страницах (раз фактически это посты) может быть добавить и комментарии?
Страницы добавляются к чему-то. Если пользователь не создал Блог, то он не сможет добавить страницу. Комментарии, их легко можно добавить, т.к. с ними фактически нет никаких изменений. Мы можем комментировать посты, а значит и страницы, т.к. страницы это собственно и есть посты. Сейчас главное отладить это дело (чтобы базу оставить в стороне) и упрощения некоторые необходимо делать. Навигацию необходимо изменить, всю. Сейчас много файлов, много массивов, много переменных. Сложно всё.