Компонент для быстрого запуска сайта MODX Revolution. Modx revo tickets настройка
Настраиваем вывод Tickets | Зона MODX
По-умолчанию, в Tickets разрешены не все HTML теги. Из-за чего тикеты и комментарии могут выводится не так как хотелось бы. Чтобы это исправить, давайте разберёмся, как это работает.
Для фильтрации контента Tickets использует Jevix.
Это замечательная система фильтрации и типографирования, разработанная в Тематических Медиа для собственных проектов (в частности Хабрахабр), которая позволяет решить вопрос с фильтраций контента. Она поможет образумить криворукого менеджера или злого скрипт-кидди, распихивающего везде XSS.При установке Tikets автоматически загружается и Jevix. Найти его можно в сниппетах в дереве элементов. Именно этот сниппет и используется Tickets для обработки тикетов и комментариев. И вот тут главная тонкость. У сниппета Jevix есть 3 набора параметров — по-умолчанию, Ticket и Comment. Именно тут обычно и возникают вопросы по настройке.
Можно указать Tickets не использовать Jevix. Для этого на странице редактирования тикета нужно отметить чекбокс «Отключить Jevix». Но я не советю этого делать, если тикеты добавляют пользователи.
Чтобы изменить отображение тикетов, нужно редактировать набор Ticket. Для комментариев — Comment. В параметре cfgAllowTags указаны все разрешённые теги. Изначально в нём нет тега div. Поэтому, если вы введёте в тикете что-то типа <div>Мой блок с информацией</div>, то на странице вы получите только текст «Мой блок с информацией». Тег div будет вырезан.
Чтобы этого избежать, нужно в параметр cfgAllowTags добавить тег div. Теперь текст выведется в блоке, но без нужного оформления. Это потому, что класс у блока не появился. И если вы попробуете добавить другие аттрибуты блоку, например, id или title, то обнаружите, что и они не появляются. Это легко исправить. Для этого нужно разрешить аттрибуты у разрешённых тегов.
Используем параметр cfgAllowTagParams. Это строка в JSON формате. Добавляем в него параметры id и class для тега div
"div":["id","class"]Обновляем страницу с тикетом и видим, что блок с нашей информацией отображается как нужно. Аналогично делаем правки и для комментариев в наборе параметров «Comment» (если нужно конечно).
Кроме того, в параметре cfgAllowTagParams можно не только указать аттрибуты элемента, но и значения этих аттрибутов. Например, для класс блока div мы разрешаем только значения «container»,«article»,«aside»:
"div":{"class":["container","article","aside"]}А можно вместо названий указать модификаторы:
- #int — можно указывать только цифры.
- #text — любые символы.
- #link — проверка на соответствие url.
- #image — путь до файла.
В заключение
Jevix не только фильтрует контент и вырезает запрещённые теги, но и выполняет функции типографа. Поэтому его можно использовать отдельно от Tickets для обработки любого контента.
[[Jevix? &input=`[[*content]]` ]]В данном случае Jevix использует параметры по-умолчанию. Но их можно переопределить при вызове сниппета.
[[Jevix? &input=`[[*user_tv]]` &cfgAllowTags=`b,a,img` &cfgSetAutoLinkMode=`1` ]]30 декабря 2015, 10:47 4199 0
Компонент для быстрого запуска сайта MODX Revolution
При создании сайтов на MODX Revolution разработчик тратит много времени на установку одних и тех же дополнений, настройку ЧПУ, внесение настроек на сайте. Все это рутинная работа которая занимает какое то время. Для этого я создал пакет с помощью которого будут установлены дополнения которые я зачастую использую при разработке Блога, сайта визитки и т.д. Компонент который я предлагаю вашему вниманию основан на сборке от Ильи Уткина SiteExtra.
Дополнения которые устанавливаются
- Ace --- редактор кода
- AdminTools --- пакет инструментов для администраторов
- AjaxForm — чтобы формы работали с помощью AJAX
- FormIt — обработка форм, отправка заявок на электронную почту
- frontendManager — для редактирования ресурсов прямо из фронтенда
- Jevix --- фильтрация контента
- MetaX — генерация мета тегов
- Translit — автоматическая транслитерация адресов страниц
- pdoTools — для вывода ресурсов и создания меню
- Tickets — блог, комментарии и т.д.
- pThumb — для создания превьюшек
- TinyMCE Rich Text Editor — визуальный редактор текста
- simpleUpdater — для лёгкого обновления версии MODX
- virtuNewsletter — подписка и рассылка новостей
Настройки
- allow_multiple_emails — нет (чтобы у каждого пользователя была своя электронная почта)
- friendly_alias_realtime — да (генерация псевдонима в реальном времени)
- friendly_urls — да (включение дружественных URL)
- friendly_urls_strict — да (строгий режим)
- hidemenu_default — да (чтобы случайно новые ресурсы не появились в основном меню сайта)
- publish_default — да (по умолчанию ресурс создаётся опубликованным)
- use_alias_path — да (чтобы в URL учитывался псевдоним родителя, а не его замороженный URL)
- friendly_alias_translit — russian (настройка транслитерации)
- resource_tree_node_name — menutitle (чтобы названия ресурсов в дереве были покороче)
- resource_tree_node_tooltip — alias (чтобы можно было понять, какой у ресурса адрес)
- error_page — id страницы 404
- site_unavailable_page — id страницы 404 (всё же лучше 404, чем главную показывать)
- unauthorized_page — id страницы 404
- error_page_header — HTTP/1.0 404 Not Found (раньше были проблемы с другим заголовком)
- fastuploadtv.translit — да (чтобы загружаемые к ресурсам картинки транслитерировались)
- locale — ru_RU.utf8 (вдруг, надо будет генерировать даты с названиями месецев)
- cache_prefix — пустое значение (надо заполнять, если включён memCached. Значение брать из файла конфига)
Ресурсы
- О компании
- Блог
- О компании
- Контакты
- Рассылка
- Оформление подписки
- Подписка оформлена
- Страница ошибки 404
- robots.txt
- sitemap.xml
Возможно что то еще. Пробуйте кому интересно отписывайтесь о результатах и пожелания.
ccExtrapack Быстрый старт MODX
www.modx.cc
Компонент Tickets в MODX для реализации комментариев и отзывов
Есть замечательный компонент для CMS MODX Revolution — «Tickets». Написал его наш соотечественник «bezumkin», за что ему большой респект. Компонент может быть использован как альтернатива «Quip», для комментирования статей. Точное его описание и видео с быстрым стартом вы можете найти на официальной страничке компонента:
Опишу некоторые моменты установки и настройки компонента Tickets для использования комментирования статей. Создание тикетов при помощи компонента опущу.
1. Устанавливаем «Tickets».
Оставлять комментарии при помощи «Tickets» могут только зарегистрированные пользователи которые находятся в группе с определенными правами.
2. Создаем группу «Users» (можно и по другому назвать), пользователи которой смогут оставлять комментарии:
- В меню заходим «Безопасность > Контроль доступа».
- Создаем новую группу. Задаем ей имя (например «Users»). Политика бэкенда — «TicketUserPolicy».
- После создания группы переходим к её редактированию (ПКМ>Редактировать).
- Открываем вкладку — «Доступ к контекстам»
- Редактируем контекст web (ПКМ > Редактировать)
- Устанавливаем политику доступа — «TicketUserPolicy»
Группу создали, права дали. Дальше необходимо этих пользователей откуда-то взять. У меня на сайте отсутствовала регистрация и напрягать ей пользователей я не хотел, поэтому воспользовался компонентом «Loginza».
3. Устанавливаем компонент Loginza и вызываем его в нужном месте:
Теперь пользователи, которые будут авторизоваться на вашем сайте через социальные сети при первом входе автоматически регистрируются в группе «Users» и получают возможность оставлять комментарии.
4. Добавляем в шаблон статей сниппет комментирования:
[[!TicketComments]]Сниппет можно использовать без параметров, но лучше ознакомиться с ними, а так же с используемыми чанками.
Параметры сниппета TicketComments
thread — имя ветки комментариев. по умолчанию recource-[[*id]]
fastMode — если включено, в чанк результата будут подставлены только значения из БД. Все необработанные теги MODX, такие как фильтры, вызов сниппетов и другие — будут вырезаны. по умолчанию Да (Нет)
gravatarIcon — если аватарка пользователя не найдена грузить эту картинку на замену. по умолчанию mm
gravatarSize — размер загружаемого аватара. по умолчанию 24
gravatarUrl — адрес для загрузки аватаров. по умолчанию http://www.gravatar.com/avatar/
tplCommentForm — чанк для формы добавления нового комментария. по умолчанию tpl.Tickets.comment.form
tplCommentAuth — чанк комментария для показа авторизованному пользователю. по умолчанию tpl.Tickets.comment.one.auth
tplCommentGuest — чанк комментария для показа гостям. по умолчанию tpl.Tickets.comment.one.guest
tplCommentDeleted — чанк удаленного комментария. по умолчанию tpl.Tickets.comment.one.deleted
tplComments — обертка для всех комментариев страницы. по умолчанию tpl.Tickets.comment.wrapper
tplLoginToComment — чанк с требованием авторизоваться. по умолчанию tpl.Tickets.comment.login
tplCommentEmailOwner — чанк для уведомления владельца тикета о новом комментарии. по умолчанию tpl.Tickets.comment.email.owner
tplCommentEmailReplay — чанк для уведомления пользователя о том, что на его комментарий появился ответ. по умолчанию tpl.Tickets.comment.email.replay
autoPublish — автоматически публиковать все новые комментарии, без премодерации. по умолчанию Да (Нет)
formBefore — расположить форму комментирования перед комментариями. по умолчанию Нет (Да)
depth — Целое число, для указания максимальной глубины ветки комментариев. по умолчанию 0
5. Подстраиваем под себя чанки
Я редактировал только 2 чанка — «tpl.Tickets.comment.one.auth» и «tpl.Tickets.comment.one.guest», которые отвечают за показ комментариев авторизованному пользователю и не авторизованному.
Некоторое время я потратил на то, чтобы понять как отображать аватар пользователя, выполнившего вход через социальную сеть. По умолчанию компонент искал аватарку пользователя с сайта «www.gravatar.com» и, не находя её там, подставлял серенького человечка. Решение оказалось простым — в вышеприведенных чанках достаточно изменить плейсхолдер «[[+avatar]]» на «[[+photo]]»
После этого всё встало на свои места и осталось только радоваться работе компонента Tickets.
Про другие варианты создания комментариев в MODX Revolution можете почитать здесь: Комментарии в MODX Revolution. Quip и его альтернативы.
С недавнего времени в компоненте появилась возможность комментирования без авторизации. Для этого в последней версии компонента следует указать параметр «allowGuest» равным 1.
[[!TicketComments? &allowGuest=`1`]]realadmin.ru