Каталог сайтов (скрипт каталога сайтов, программ, товаров)

Evg Evg 7 Февраля 2022

Давайте посмотри, как я вижу тему (будем называть далее: категория) Hi-Tech если зайду в нее и добавляю в качестве подкатегорий — Мобильные телефоны:

Hi-Tech категория

Подкатегорию я добавил, но ее нет. Вижу её, как подкатегорию (дети) Hi-Tech, но в интерфейсе ее нет.

Дело в том, что это категория не имеет нужных свойств. Если мы пройдем уже в неё и нажмем редактировать. то можем увидеть:

Подкатегория \(фасет\)

Устанавливаем значение на ДА, сохраняем, и видим:

Видимость категории в каталоге сайтов

С этим достаточно просто. Мы составляем дерево из категорий в ручном режиме. Назначаем им свойство видимости в каталоге и все будет отображаться.

Но далее начинается самое интересное.

Вот я добавил Мобильные телефоны, но там ничего нет. Пустая категория.

Агути каталог, пустая категория

Почему пустая?

Сайтов там нет. они не назначены туда. Мы же сайтам говорим, в какой категории они должны быть.

Стоп.

А чем это отличается от обычных категорий?

Мы имеем связанную таблицу и всё? Да, таблица связи дает некую свободу. Но это не фасеты.

Мы, сайту, например, говорим, в какой категории надо находиться. Это подход с категориями связан. Тут не должно быть так.

Сайты появляются в категории, если свойство сайта подходит под эту категорию. Сборка идет автоматическая. И еще есть момент. В виду того, что каталог составляется на лету, крайне важно (кроме персонала) предусмотреть другое поведение. Оно заключается в видимости пустой категории.

Ок. Допустим тут будут города (регион, а он будет). Я нахожусь в категории Hi-Tech и нажму на город Урюлюлю. Но товаров нет в этой категории. Что я получу? Что она пустая?

Я не должен видеть город Урюлюлю чтобы нажать. Я не должен видеть саму категорию, если в ней нет ничего.

И регионы. Это не отдельная таблица. Это просто дерево общей схемы, фасетов, граней, как мы называем, категорий.

Еще пример. Я нахожусь в категории, где вижу 10 подкатегорий. Жму на город и в зависимости от города, их количество должно поменяться, каталог перестроиться.

Теперь, мы от свойств того что находится внутри разделов будем показывать или нет сами разделы.

Сайт в данном случае не будет (если упрощать) назначаться в нужную категорию. Но в зависимости от проставленных свойв появится там.


Почему пишу. Сегодня, завтра, сделаю архив на GitHub, очередного релиза. И далее необходимо закончить эту возню с фасетами. Действительно, у меня это дело висит более 20 лет.

Далее. Есть таблица в базе данных — items и что связано с этим. Так вот, я бы не стал наполнять сейчас эту таблицу сайтами или создавать темы и привязывать их к items. В ближайшем времени, эта таблицу будет серьезно изменена. Каталог выполнен модулем, чтобы было проще вносить изменения.

См. каталог сайтов: https://libarea.ru/web

Пока еще категории там, по свойствам жесткие категории. Хотя уже и гибкие. Таблица связей дает возможность связывать всё со всем.

P.S. сайты на данный момент только для того, чтобы наполнить каталог. Могут быть программы, товары. Это может быть магазин, библиотека и т.д. Не в этом дело. Меня интересует создание универсального инструмента для навигации, который может быть использован далее!

4 Ответа

  1. Yori Yori 7 Февраля 2022 (ред.)

    Фасетная схема сборки. Яндекс каталог ранее делал подобную конструкцию.

    1. Evg Evg 7 Февраля 2022

      Да, мы писали про это тут, говорили. Яндекс был хорошим примером, который мало кто заметил. Только в научных кругах было небольшое движение. )

  1. German German 7 Февраля 2022 (ред.)

    Таблица items тогда нуждается в изменении, не совсем понимаю сейчас какие свойства там будут, но их видимо должно быть достаточно.

    1. Evg Evg 7 Февраля 2022 (ред.)

      Регион, тип сайта, это софт и т.д. Их много должно быть. По логике, в отдельной таблице с деталями, чтобы тут не создать себе затор, на будущее. Посмотрим.