В общей сложности, на эту работу у меня ушло около 40 дней. Чистого времени, приблизительно, 140 часов.
По сути вышло первое качественное расширение, для создания пользовательских страниц с комментариями. Этакий упрощенный LiveStreet. Комментарии однозначно лучшие из всех, что есть на Revolution (ха-ха, конечно — кроме Quip ничего и не было).
Документации нет, как и желания бесплатно её писать. Поэтому я просто сделал видео, в котором показано, что Tickets запускается на новом сайте буквально за несколько минут. Пока делал видео офигел от мысли, что из 8 нужных компонентов, 4 — мои.
Основная разработка закончена, но есть планы на будущее: добавить всякие плюшки, типа рейтингов, редактирования комментариев с фронтенда и индикатора непрочитанных. После некоторого перерыва, конечно.
Сейчас есть:
- Создание особых разделов для тикетов в админке, со своим интерфейсом.
- Создание тикетов в админке, тоже со своими панелями и табами.
- Создание страниц с фронтенда.
- Редактирование страниц с фронтенда, с проверкой авторства.
- Чумовые ajax-комментарии.
- Редактирование\удаление комментариев с админки.
- Права доступа на добавление страниц в раздел и создание комментариев.
- Собственное кэширование тикетов.
- Принудительная фильтрация тикетов при выводе на экран by Jevix.
- Автоматическая установка и настройка Jevix при инсталляции пакета. 2 набора параметров, раздельно для тикетов и комментариев.
- Замечательный редактор MarkItUp для тикетов и комментариев. Набор кнопок меняется в системных настройках.
- Почтовые уведомления о комментариях автору тикета, и тем, кому ответили на его комментарий.
- Вывод последних комментариев и тикетов, с разбивкой по разделам и возможностью кэширования.
- Комплектные сниппеты для грамотной обрезки и фильтрации текста, а также подсчета кол-ва комментариев тикета.
- Все нужные чанки оформления, прописанные параметры у сниппетов, 2 языка — русский и английский.
Компонент заказан, оплачен и подарен вам студией Simple Dream. Если бы не они, вы бы вряд ли увидели и другие работы: miniShop, mSearch, Jevix, BannerY.
← Следующая заметка
Обновил Jevix, версия 1.1.0
Обновил Jevix, версия 1.1.0
Предыдущая заметка →
Кэширование в компоненте Tickets
Кэширование в компоненте Tickets
И запишите в планы — Подписку на комментарии в тикете, чтоб уведомления приходили не только автору тикета.
Лично я давно хочу избавиться от Articles, но надо придумать, как пропускать сложную верстку моих заметок через Jevix. Пока на ум пришло только сделать параметр disableJevix для определенного тикета\раздела — но сейчас некогда.
Jevix работает на уровне выдачи контента, ТВ параметр тут прокатит только при изменении исходника класса Ticket.
То есть, при $ticket->getContent() — он будет уже фильтрован Jevix. Даже при $ticket->get('content') и некоторых других полей там будут заменены MODXовые теги.
В общем, на эту тему надо еще подумать и потом доработать, чтобы включать\отключать галочкой с админки.
Вчера писал коммент, забыл отправить и закрыл вкладку.
Это по поводу подключения JS файлов. Ситуация следующая если использовать MinifyX или другие сборщики-минимизаторы и подключать jquery в подвале(footer) страницы, не будет работать markitup.js который подключается через regClientStartupScript(...) и загружается в шапке(head)
Решений как этого избежать много, но хочется нативного решения. Без правки tickets.class.php и без подключения отдельно jquery в шапке перед markitup.js
Я то подключил все как нужно. Просто сообщаю о возможных неудобствах.
Чем больше таких «непониманий» — тем меньше вы увидите новых продуктов.
Изначально, выпускать Tickets в репозиторий мы не планировали, ибо задолбают вопросами, нужно будет поддерживать, отвечать, багфиксить — на это надо время и ресурсы, при нулевой отдаче.
В процессе разработки же решили, что штука клевая — надо со всеми поделиться. Мир, дружба, Open Source!
Прочитал твой коммент и подумал «ну и нахуя мне это все?».
Верной дорогой, Ваня.
А ты сказал спасибо в денежном эквиваленте тому кто создал nginx, php и еще много чего? Слышали бы они тебе сейчас
Иногда деньгами, иногда словами. «Не понимаю смысла таких фраз» — такого нет.
Может, тебе лучше больше не ходить сюда?
Действительно, тебе пора.
2. Вывод списка через getResources, который понимает список id через запятую, для вывода. То есть — надо мелким сниппетом выбрать подходящие ресурсы и отдать их getResources.
Так что да, без проблем. У всех тикетов включен параметр hidemenu, то есть, по умолчанию их никто не покажет, ни Wayfinder, ни getResources, ни Sitemap — никто.
При добавлении комментария необходимо вставить картинку. Если я прописываю тег img в ручную и и в аттрибуте src прописываю относительный путь, то после публикации src выглядит так:
Т.е. добавляется совершенно мне не нужный http. Перепробовал различные варианты параметров jevix, но ничего не помогает. Подскажите как можно убрать этот http.
Это серьёзный инструмент, который защищает вас от разных атак, типа инъекций и XSS. В новой версии Tickets есть возможность отключить фильтрацию через него для определенной страницы — пригодится ведущим блог с админки.
А в чем проблема указать полный url?
То есть, относительный путь от корня сайта:
это просто забыли? или проблема какая то возникла?
В любом случае, все его теги повырезает Jevix, так что все не просто. Поставил в задачу себе.
И за одно багу нашел: всплывающее окно логинзы перекрывается на этой странице ютубом.
Никак не могу найти хоть какую то документацию по Tickets, кроме быстрого старта(
На эво есть хотя бы что-то из той стороны (не то, но на тему истории версий документа) modx.im/blog/addons/113.html
На рево придется извращаться с сохранением контента в тв и копированием оного при изменении.
Если можно сделать иначе как-то или кто-то в курсе в какую сторону копать — подскажите.
я думаю даже можно прикрутить pagebreaker и выводить существующие версии тиккета…
Но в любом случаи — у нас же там еще и тв.
А можно ли как-нибудь сделать, чтобы при изменениях в контенте тиккета (или в тв) в разделе с тиккетами, в списке дочерних тиккетов в строке измененного появлялся какой-нибудь флажок, предупреждающий, что в тиккете пользователем (не админом) совершены изменения? Сейчас там есть флажок о комментариях. Понятно, что задача не простая. Я скорее помечтать и расширения кругозора для.
2. Я с тикетами дела не имел, не знаю. Но редактировать тикет — изначально может только создатель.
Из админки -то не обязательно создатель.
Спасибо за ответы.