Не забудьте изменить ссылку на страницу с регистрацией.
Для того, чтобы при попытке загрузки страницы, на которую доступ пользователю запрещен, выводилась страница авторизации, создайте страницу Доступ запрещен и поместите в поле Содержимое ресурса следующий код:
Авторизуйтесь, пожалуйста.
{{WebLogin}}
А в системной конфигурации в поле Страница 'Доступ запрещен': укажите ID этой страницы, рис.24.5.
Рис. 24.5
Опробуйте работу сайта в различных режимах: регистрация, авторизация, доступ к галереи фотографий, восстановление пароля.
24.5. Подключение freeCap PHP CAPTCHA к форме регистрации
Вряд ли кто-нибудь из тех, кто делает сайты на MODx будет спорить с тем, что CAPTCHA, и по сей день входящая в стандартную поставку MODx Evo для спам-ботов не препятствие, рис. 24.6.
Рис. 24.6
К счастью, существуют другие реализации капчи и одна из них, а именно freeCap PHP CAPTCHA, уже ждет, чтобы мы ее попробовали.
Поместите каталог freecap из архива на файловом сервере в каталог /manager/includes.
Затем нам нужно указать сниппету WebSignup использовать капчу, для этого открываем страницу Регистрация пользователей и добавляем вызов капчи: &useCaptcha=`1`. В итоге вызов сниппета WebSignup будет следующим:
[!WebSignup? &groups=`основная` &useCaptcha=`1`!]
После этого на форме регистрации появится капча, рис. 24.7:
Рис. 24.7
24.6. контрольные задания
Какой сниппет используется для регистрации веб-пользователей на сайте?
Какой сниппет используется для авторизации пользователей на сайте?
Как задать права пользователя в MODx на доступ к определенному ресурсу сайта?
Как изменить группу, в которую попадет пользователь, при регистрации на сайте?
ЗаданиЕ 25
Комментирование материалов страниц сайта
цели занятия
установка и настройка системы комментирования страниц сайта
Форма организации занятия
Фронтальная.
Студент должен знать
способ установки и настройки системы комментирования страниц сайта
Студент должен уметь
выполнять лабораторно-практическое задание №24,
устанавливать и настраивать систему комментирования страниц сайта.
Обеспеченность
компьютер с доступом в Интернет,
настоящий курс лабораторно-практических работ.
Практическое задание
В качестве системы комментирования на сайте будем использовать Disqus.
Основные плюсы этой системы:
Управление комментариями по e-mail (можно отвечать на комментарии или удалять их со своего почтового ящика, не заходя на сам сайт)
Возможность использовать на нескольких сайтах и блогах одновременно и при этом управлять комментариями из одного места
Надежная спам-защита
Древовидная система комментирования
Авторизация пользователей через самые распространенные социальные сервисы: Google, Twitter, Facebook или используя Open ID
Приятный внешний вид комментариев с использованием Ajax подгрузки
Возможность пользователей подписаться на новые комментарии к любой статье.
25.1. Реализации комментариев на странице с заметкой
Чтобы реализовать этот этап отправляемся на сайт disqus.com, на котором необходимо пройти регистрацию: нажимаем на кнопку Add DisqustoYourSite, рис.25.1:
Рис. 25.1
После этого мы попадаем на страницу регистрации, на которой необходимо ввести все основные данные.
На следующем шаге выбираем вариант установки — выберите Universal Code, рис.25.2. В этом случае мы будем интегрировать комментарии на сайт с помощью JavaScript кода, который можно вставить практически куда угодно.
Рис. 25.2
Копируем предложенный код:
comments powered by Disqus
и помещаем его в чанк с именем COMMENTS, рис.25.3.
Рис. 25.3
После внесения изменений сохраняем чанк COMMENTS, и возвращаемся на сайт Disqus, где нужно указать ссылку на ваш сайт.
Перейдите на вкладку General, рис. 25.4.
Рис. 25.4
Найдите поле ввода Website URL и укажите в нем адрес вашего сайта, рис. 25.5.
Рис. 25.5
Перейдите на вкладку Install, рис. 25.6 и в низу страницы нажмите на кнопку Verify, рис. 25.7.
Рис. 25.6
Рис. 25.7
Если вы все сделали правильно, то увидите надпись: Congrats!Disqus appears to be properly installed.
Создайте новый шаблон для страниц с текстом новостей, и добавте вызов чанка COMMENTS сразу после плейсхолдера [*content*], рис. 25.8. После этого, с помощью Менеджера ресурсов, который находится: Модули > DocManager, измените шаблон текста новостей на новый шаблон, созданный вами.
Теперь, если посмотреть в браузере любую страницу с новостями можно увидеть форму для отправки комментариев, рис. 25.9.
Для отправки комментария необходимо будет ввести данные при оставлении гостевого комментария, либо авторизоваться в системе, используя на выбор один из предложенных социальных сервисов.
Рис. 25.8
Рис. 25.9
Как вы видите, добавление комментариев от Disqus оказалось очень простым, для этого нам понадобилось всего лишь после регистрации на disqus.com скопировать универсальный код, поместить его в чанк, внеся небольшие изменения и вызвать этот чанк с кодом на странице, на которой мы хотим подключить комментарии.
25.1.2. Настройка комментариев Disqus
Все настройки ваших комментариев будут производиться на вкладке Settings панели управления комментариями. Попасть туда можно, перейдя из пункта меню Admin после авторизации на сайте discus.com, рис. 25.6.
Я вам вкратце расскажу о настройках, которые имеются в Disqus, чтобы вы представляли себе, что именно можно изменить в комментировании материалов вашего блога.
На вкладке Settings слева будет отображаться меню для перехода по страницам с разными настройками: General,Ads, Moderators,Filter, Advanced. Подробнее о каждой группе настроек читайте дальше.
При внесении любых правок в настройках комментариев внизу страницы появится панель с кнопками, используя которые можно применить изменения либо отказаться от внесенных правок.
На вкладке General можно оставить все настройки без изменений. Здесь в добавок к тем настройкам, которые мы уже заполняли при регистрации, можно указывать кто именно сможет оставлять комментарии: любые пользователи, либо только зарегистрированные с проверенным e-mail (можно оставить этот параметр по умолчанию), а также выбрать часовой пояс.
Guest Commenting — разрешить комментарии гостям, без авторизации.
Pre-Moderation — включить проверку публикуемых комментариев до публикации или нет. Если выбрать Non, то комментарий будет опубликован без проверки администратором, если выбрать Non-verified, то комментарий от пользователей, на проходивших проверку e-mails будут опубликованы только после проверки администратором, и, наконец, если выбрать All, то все комментарии будут публиковаться только после проверки администратором.
Links in Comments — если поставить галочку, то все комментарии, содержащие в себе ссылку, будут публиковаться в блоге только после одобрения модератора.
Media Attachments — разрешить присоединять к комментариям рисунки и видео.
Flagged Comments — позволяет пользователям пожаловаться на комментарий, при указанном числе жалоб от пользователей, комментарий будет скрыт от посетителей сайта. При этом, можно уведомлять модератора по e-mail о появлении флага на комментарии.
Automatic Closing — закрыть возможность комментирования поста после определенного количества дней. Если в качестве количества дней указан 0, то комментарии для статьи не будут закрыты никогда.
На вкладке Moderators можно добавить/удалить модераторов.
На вкладке Filter:
Restricted Words — можно указать слова, при появлении которых в комментарии, они потребуют одобрения модератора, прежде чем быть опубликованными.
Blacklists and Whitelists — можно закрывать или открывать возможность комментирования для некоторых пользователей по e-mail, по IP либо по стоп-словам, при наличии которых в комментарии он не будет опубликован до одобрения модератором.
На вкладке Advanced можно указать
DefaultCommenterAvatar — аватарка пользователя по умолчанию. Отображается при комментировании материалов не авторизованными пользователями.
Trusted Domains — можно дополнительно определить список доверенных доменов, которым разрешено встраивать ваши комментарии в свой сайт (один домен на строку).
25.2. Подключение счетчика оставленных комментариев на новостной ленте
После того, как мы поместили вызов чанка COMMENTS на страницу новостей и внесли требуемые изменения в настройку комментирования, нам необходимо еще вывести информацию о количестве оставленных комментариев для каждой новости на новостной ленте. Для этого снова отправляемся на сайт disqus.com, следуем по пути: Settings → Install → Universal Code и копируем код для счетчика, который необходимо будет вставить в шаблон 2 колонки перед закрывающим тегом body, рис. 25.10.
Рис. 25.10
Помещаем этот код в чанк с именем, например, disqus-count, рис. 25.11:
Рис. 25.11
После создания чанка отправляемся редактировать шаблон 2 колонки и помещаем вызов disqus-count перед закрывающим тегом body, рис. 25.12.
Рис. 25.12
Затем отправляемся редактировать чанк news-article с шаблоном вывода анонсов новостей. И вставляем следующую конструкцию:
Подгрузка...
, рис. 25.13.
Рис. 25.13
Теперь на новостной ленте, под каждым анонсом новости, будет отображаться ссылка на комментарии с автоматическим указанием количества комментариев. При этом отображаться эти комментарии будут в виде, заданном в параметре Comment Count Link, на странице General в панели настроек комментирования, рис. 26.14.
Рис. 25.14
Откорректируем внешний вид ссылок на комментарии, для этого откройте файл layout.css и в модуль News добавьте строку:
.comment a {color:#bbb;}
Внешний вид получившейся новостной ленты показан на рис. 25.15.
Рис. 25.15
Внимание: счетчик срабатывает не мгновенно, и если посетитель оставил комментарий к заметке, а в ленте новостей значение счетчика не изменилось это не значит, что все сломалось. Спустя короткий промежуток времени будет отображаться реальное количество комментариев к новости.
25.3. Управление отображением комментариев на странице
Иногда у владельца сайта может появиться необходимость закрыть комментирование на какой-нибудь странице.
Давайте добавим возможность при редактировании новости отключать/включать для нее комментарии. Чтобы отключить вывод комментариев на какой-нибудь странице, нам просто нужно на этой странице убрать вызов чанка COMMENTS, в котором хранится JavaScript код для подгрузки комментариев Disqus. Сделать это можно с помощью плагина PHx.
Для этого скачиваем архив с плагином c официального сайта MODx: http://modx.com/extras/package/phx или с файлового сервера.
Создаем папку assets/plugins/phx/ и копируем в нее содержимое скачанного архива.
После этого отправляемся на вкладку Элементы → Управление элементами → Плагины в админке MODx и создаем там новый плагин.
На вкладке Общие заполняем следующие поля:
Название плагина — PHx.
Описание — плагин PHx.
Код плагина (php) — копируем содержимое файла phx.plugin.txt, который вы только что скопировали в папку плагина assets/plugins/phx/.
На вкладке Системные события указываем события, которые должен отслеживать плагин: ставим галочку OnParseDocument.
Затем создадим новый TV параметр: Элементы → Управление элементами → Параметры (TV) → Новый параметр (TV), рис. 25.16.
При создании TV параметра заполняем поля следующим образом:
Имя параметра — comments
Заголовок — Комментарии
Описание — Разрешить пользователям оставлять комментарии к заметке
Тип ввода — DropDown List Menu
Возможные значения — Да||Нет
Значение по умолчанию — Да
И не забудьте указать в качестве шаблона, который может использовать этот TV параметр — Новости.
Рис. 25.16
После этого при редактировании страниц сайта с шаблоном Новости у вас появится дополнительное поле в виде выпадающего списка. С помощью которого, вы сможете в дальнейшем управлять (включать/отключать) возможность комментирования для данной страницы, рис. 25.17.
Рис. 25.17
Поле этого отправляемся редактировать шаблон Новости в котором у нас идет вызов чанка с комментариями.
Добавим логическую проверку при выводе чанка COMMENTS с помощью плагина PHx: если TV параметр comments содержит в себе значение Да, то выводим на странице чанк COMMENTS, в противном случае ничего не выводим. Делается эта проверка с помощью конструкции: