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

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

7 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  
Юрий
Блин, прошу прощения, нашел категории :) Тогда посмотрите пожалуйста первый мой коммент про бесплатные подписки на определенный контент :) Прошу прощения за невнимательность. И там во втором комменте я спрашивал насчет неактуальных тегов - их как то можно удалить или если раз ввел - они навсегда остаются?
Василий Наумкин
Ну ты приложил картинку - на ней категории и теги.
Попробуй кликнуть на теги и удалить ненужные.
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
Василий Наумкин
10.02.2025 05:37:58
В разделе с заметками есть и управление тегами - там их можно менять и удалять.
Василий Наумкин
10.02.2025 05:33:07
Ну ты приложил картинку - на ней категории и теги. Попробуй кликнуть на теги и удалить ненужные.
Егор
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
Максимальный уровень подписки. Все платежи проводятся в тестовом режиме!