Категории заметок

Давно ничего не писал, но это не потому, что писать нечего - а потому, что некогда.
Работы просто завались, всякие улучшения и доработки Орбиты проводятся каждую неделю, в основном после тестирования на Сасфликсе.
Многое можно узнать о недостатках системы, когда ежедневно на сайт заходят по 5 - 10 тысяч посетителей. А если автор даст ссылку в телеграм-канале - так и все 30.
Сегодня хочу рассказать про крупное обновление по работе с топиками - категоризацию.

Категории заметок

Это новый раздел внутри управления топиками. Вы можете создавать категории и назначать им дружественный адрес, который будет спользоваться вмеcто topics - например news.
Созданные категории можно сортировать кнопочками в таблице, чтобы они выводились в новом виджете в нужном вам порядке.
Так как виджетов у нас становится уже много - я добавил новую настройку для скрывания ненужных:
# Список всех виджетов: author,pages,search,levels,online,categories,tags
HIDE_WIDGETS=
Если вы не создали категорий, то и виджет выводиться не будет - такая же логика, как и с тегами.

Логика работы

Во всех запросах с топиками теперь возвращается их категория - и если она есть, то адрес топика меняется с /topics/uuid на /category_uri/uuid. Если открываете топик по старому адресу - будет редирект. Если указываете несуществующий uri категории, или она неопубликована - будет 404.
Насколько я смог проверить и протестировать, всё работает хорошо, проблем не замечено.
Активные категории также выводятся и в вашем sitemap.xml.

Немного оптимизации

Так как объектов для изначальной загрузки в хранилище становится тоже больше, я запихал их все в один контроллер.
Раньше как было? Вы запрашиваете любую страницу Орбиты и на сервере летят раздельные запросы для загрузки:
  • Уровней подписки
  • Текстовых страниц
  • Тегов
  • Реакций
  • Системные настройки и переменные окружения
  • Теперь еще добавились и категории
6 запросов к 6 контроллерам как-то не очень, даже не смотря на то, что это происходит только 1 раз при серверном рендере.
Теперь же я добавил получение всех этих данных в один контроллер Web/Settings - так что запрос будет всего один. Мелочь, а приятно.
Остальные контроллеры тоже остаются на месте, чтобы не ломать API.

Сортировка

Раз уж у нас появилась возможность группировать заметки по категориям, логично добавить и продвинутую сортировку.
Теперь можно сортировать по дате публикации, количеству просмотров, комментариев или реакций. Как по убыванию, так и по возрастания.
Сортировка выводится везде, даже на главной странице. Заодно работает и фильтрация по тегам внутри категорий.

Заключение

Я постарался предусмотреть всё, что только можно - надеюсь, не налажал. Обновляемся как обычно
git pull
systemctl restart orbita
На этом сайте я категории не использую, здесь только теги. Но зато посмотреть обновку можно на bezumkin.ru - там я, наоборот, заменил все теги на категории. Стало гораздо приятнее давать ссылки на уроки, отсортированные по возрастанию. Вот, например - https://bezumkin.ru/vesp-shop?reverse=true.
Если найдёте какие-то проблемы или ошибки, то пишите в комментарии, я поправлю.

11 комментариев

Дмитрий
Здравствуйте, Василий.
Спасибо вам за вашу работу. 
Подскажите пожалуйста:
1) Целесообразно ли переносить на Орбиту (Vesp) обычный сайт компании сделанный на ModX/wordPress/Bitrix и т.д.?
2) Существует ли сообщество Орбита (Vesp), где я могу разместить задание и найти исполнителя (на подобие modx.pro)? 
3) Сколько (примерно) будет стоить перенести такой сайт https://rider39.ru/ на Орбиту (Vesp)?
Василий Наумкин
1) Только если у вас авторский блог с подписками - потому что Орбита сделана именно для этого и больше ни для чего. Это не универсальный движок, это система для одной конкретной цели.
2) Только комментарии здесь и, наверное, на bezumkin.ru
3) Это просто не будет работать, проще с нуля магазин писать.
Дмитрий
Спасибо!
Александр Наумов
Огонь обновления!!!
Как всегда, все сделано изящно, лаконично, красиво!
Спасибо за труд!
Юрий
Василий здравствуйте! Спасибо огромные за труды. Я обновился, но никаких категорий почему то не увидел.... Возможно что то сделал криво... В админке должна быть какая то ссылка на категории или при редактировании топика? У меня почему то ничего нет....
И еще - если будет время ответьте пожалуйста на мои вопросы тут 
https://orbitacms.ru/topics/3479b900-b10c-470b-86de-a685a6d2ddb3#comment-231
И тут https://orbitacms.ru/topics/3479b900-b10c-470b-86de-a685a6d2ddb3#comment-230
Насчет второго вроде как категории должны быть.... но у меня их нет. Сайт dayhub.ru  
Юрий
Блин, прошу прощения, нашел категории :) Тогда посмотрите пожалуйста первый мой коммент про бесплатные подписки на определенный контент :) Прошу прощения за невнимательность. И там во втором комменте я спрашивал насчет неактуальных тегов - их как то можно удалить или если раз ввел - они навсегда остаются?
Василий Наумкин
Ну ты приложил картинку - на ней категории и теги.
Попробуй кликнуть на теги и удалить ненужные.
Юрий
Точно....прежде чем спрашивать нужно сначала все потыкать и использовать. Еще раз извините за тупые вопросы:)
Ototo
А приложение потом тоже будет доступно в open source?
Василий Наумкин
Уже доступно, но там всё для Sasflix, так что надо будет менять самостоятельно.
Но можно хоть посмотреть, как оно вообще работает.
Александр Наумов
Ссылка не работает.
Орбита
Последние новости о проекте и свежий функционал. Можно зайти в админку с логином и паролем demo. За помощью можно обратиться на help@orbitacms.ru
Прямой эфир
Юрий
19.06.2025 22:50:08
Да, похоже что так оно и есть. Переименовал docker-compose.override.yml и заново пересобрал перезапу...
Александр Наумов
10.06.2025 21:39:56
Ссылка не работает.
Егор
10.12.2024 19:38:48
У reg.ru появилось безлимитное S3 хранилище
Василий Наумкин
19.08.2024 04:44:55
Разобрался, это глюк редактора после обновления. Иногда он формирует массив с блоками, а иногда, поч...
Александр Наумов
09.07.2024 00:06:38
Случайно забрел на Тинькофф Журнал https://journal.tinkoff.ru/friendship-ended-with-patreon/ и сразу...
Александр Наумов
25.06.2024 10:22:06
Спасибо!!!
Александр Наумов
07.06.2024 15:01:19
Василий, спасибо большое!
Александр Наумов
12.05.2024 12:30:15
Спасибо!
Камиль Галиев
01.12.2023 11:56:40
Да, теперь работает нормально!
Уровни подписки
Тестировщик
100 ₽ в месяц
Базовая подписка. Все платежи проводятся в тестовом режиме!
Подписчик
250 ₽ в месяц
Средний уровень подписки. Все платежи проводятся в тестовом режиме!
Советник
500 ₽ в месяц
Максимальный уровень подписки. Все платежи проводятся в тестовом режиме!