ADD: Темы для сайтов, плюс структура папок
В репозиторий на GitHub внесены некоторые измененения: добавлены темы для сайтов и реорганизована структура папок в проекте. По поводу тем, хочу написать пару слов.
Многие каталоги используют категории.
Категория — это широкое название группы предметов. Категории бывают корневыми и они обычно немногочисленные.
Однако, категории не особо гибкие и хорошо работают, когда их мало.
Используйте 4, и у вас будет красивый дом; используйте 24, и у вас есть лабиринт.. © Джефф Этвуд (ист.)
Это действительно так, темы (теги) куда более гибкие. С ними можно очень хорошо работать.
И есть еще моменты. Например, за последние 20 лет многие только и работают с категориями. Я сам был занят в основном ими. Категории, категории… А темы удачно использовал Яндекс, фасетную классификацию он применил в своих каталогах. Ранее был каталог сайтов, далее магазины и др.
Это не категории, они выглядят как категори, это темы (теги).
- Связанные теги
- Группы тегов
- Корневые теги…
Теперь сам хочу посмотреть, насколько удобно сделать каталог на темах. Это может быть каталог сайтов (тут про него разговор), каталог товаров и т.д. Это не важно, важно понять насколько это удобно. Тем более, это предлагали сделать ранее, например, @Shumadan говорил об этом. :)
Вот и попробуем.
Далее. Изменена структура папок проекта. Теперь она более удобная для понимая, давайте посмотрим:
/app
/config
/public
/resources
/routes
/storage
start.hleb.php
console
- В корне
start.hleb.php
— там константы. - В папке
config
, настройка базы и сам файл конфигурации.
В ближайщее время, файлы конфигурации будут ещё расширены, и необходимо было привести всё в более простой вид перед этим.
P.S. у кого уже стоит сайт, изменения внести просто. Заменяем все файлы предварительно сохранив файлы конфигурации (для замены), или в новые добавить свои данные.
В базе данных, если у вас нет таблицы topics_link_relation
(посмотрите через phpmyadmin), то выполните следующий запрос:
CREATE TABLE `topics_link_relation` (
`relation_topic_id` int(11) DEFAULT 0,
`relation_link_id` int(11) DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
ALTER TABLE `topics_link_relation`
ADD KEY `relation_topic_id` (`relation_topic_id`),
ADD KEY `relation_content_id` (`relation_link_id`);
Всё должно работать, если что-то не так, то помощь будет оказана. Пока нет миграции, придется мучиться. :) Правда для миграции (в планах), будет использована консоль, тут мы не будем делать браузерный вариант обновления. «Консоль» проще и функциональней, откаты там, версии и т.д.
Согласен, сейчас стало более понятно, где править конфигурацию и настраивать базу.