ADD: Темы для сайтов, плюс структура папок

Evg Evg 4 Октября 2021

В репозиторий на 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`);

Всё должно работать, если что-то не так, то помощь будет оказана. Пока нет миграции, придется мучиться. :) Правда для миграции (в планах), будет использована консоль, тут мы не будем делать браузерный вариант обновления. «Консоль» проще и функциональней, откаты там, версии и т.д.

1 Ответ

  1. German German 4 Октября 2021

    Согласен, сейчас стало более понятно, где править конфигурацию и настраивать базу.