Компонент для быстрого запуска сайта 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"]}

А можно вместо названий указать модификаторы:

В заключение

Jevix не только фильтрует контент и вырезает запрещённые теги, но и выполняет функции типографа. Поэтому его можно использовать отдельно от Tickets для обработки любого контента.

[[Jevix? &input=`[[*content]]` ]]

В данном случае Jevix использует параметры по-умолчанию. Но их можно переопределить при вызове сниппета.

[[Jevix? &input=`[[*user_tv]]` &cfgAllowTags=`b,a,img` &cfgSetAutoLinkMode=`1` ]]

30 декабря 2015, 10:47   4199     0

modzone.ru

Компонент для быстрого запуска сайта MODX Revolution

При создании сайтов на MODX Revolution разработчик тратит много времени на установку одних и тех же дополнений, настройку ЧПУ, внесение настроек на сайте. Все это рутинная работа которая занимает какое то время. Для этого я создал пакет с помощью которого будут установлены дополнения которые я зачастую использую при разработке Блога, сайта визитки и т.д. Компонент который я предлагаю вашему вниманию основан на сборке от Ильи Уткина SiteExtra.

Дополнения которые устанавливаются

Настройки

Ресурсы

Возможно что то еще. Пробуйте кому интересно отписывайтесь о результатах и пожелания.

ccExtrapack Быстрый старт MODX

www.modx.cc

Компонент Tickets в MODX для реализации комментариев и отзывов

Есть замечательный компонент для CMS MODX Revolution — «Tickets». Написал его наш соотечественник «bezumkin», за что ему большой респект. Компонент может быть использован как альтернатива «Quip», для комментирования статей. Точное его описание и видео с быстрым стартом вы можете найти на официальной страничке компонента:

Опишу некоторые моменты установки и настройки компонента Tickets для использования комментирования статей. Создание тикетов при помощи компонента опущу.

1. Устанавливаем «Tickets».

Оставлять комментарии при помощи «Tickets» могут только зарегистрированные пользователи которые находятся в группе с определенными правами.

2. Создаем группу «Users» (можно и по другому назвать), пользователи которой смогут оставлять комментарии:

Группу создали, права дали. Дальше необходимо этих пользователей откуда-то взять. У меня на сайте отсутствовала регистрация и напрягать ей пользователей я не хотел, поэтому воспользовался компонентом «Loginza».

3. Устанавливаем компонент Loginza и вызываем его в нужном месте:

[[!Loginza? &groups=`Users`]]

Теперь пользователи, которые будут авторизоваться на вашем сайте через социальные сети при первом входе автоматически регистрируются в группе «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


Prostoy-Site | Все права защищены © 2018 | Карта сайта