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

Давно ничего не писал, но это не потому, что писать нечего - а потому, что некогда.
Работы просто завались, всякие улучшения и доработки Орбиты проводятся каждую неделю, в основном после тестирования на Сасфликсе.
Многое можно узнать о недостатках системы, когда ежедневно на сайт заходят по 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.
Если найдёте какие-то проблемы или ошибки, то пишите в комментарии, я поправлю.

10 comments

Дмитрий
Здравствуйте, Василий.
Спасибо вам за вашу работу. 
Подскажите пожалуйста:
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, так что надо будет менять самостоятельно.
Но можно хоть посмотреть, как оно вообще работает.
Orbita
The latest news about the project and new functionality. You can log in to the admin panel with login and password demo. For help, please contact help@orbitacms.ru
Online
Александр Наумов
24.04.2025 22:53:14
Василий, спасибо!Пока с ходу решить проблему не вышло, но направление понятно, буду разбираться.
Василий Наумкин
26.02.2025 11:54:28
Уже доступно, но там всё для Sasflix, так что надо будет менять самостоятельно. Но можно хоть посмо...
Егор
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
Да, теперь работает нормально!
Subscriptions
Тестировщик
RUB 100 per month
Базовая подписка. Все платежи проводятся в тестовом режиме!
Подписчик
RUB 250 per month
Средний уровень подписки. Все платежи проводятся в тестовом режиме!
Советник
RUB 500 per month
Максимальный уровень подписки. Все платежи проводятся в тестовом режиме!