Создание своего сайта на Processwire по шагам. Добавление своих комментариев. Урок 11
Поскольку процесс реализации блога вышел на финишную прямую, то у вас, как автора, теперь есть все возможности для того, чтобы делиться мыслями о происходящем в мире или у вас в жизни. Но рано или поздно, наступит такой момент, когда вам захочется получить какую-то обратную связь от ваших читателей – вот для этих целей как нельзя кстати подойдёт такая полезная штука, как комментарии. И в этом уроке я расскажу, как их подключить.
В Processwire для этого есть специальный тип поля, который называется «Comments». По умолчанию данный тип поля не установлен в систему, поэтому переходим в админке по следующему пути «Модули - Ядро» и устанавливаем его:
После того, как данный модуль будет установлен, вам будет доступен новый тип поля - «Комментарии».
Вот он-то нам и интересен.
Собственно, сам инструмент довольно мощный и гибкий, со множеством настроек, каждая из которых имеет очень хорошее и подробное описание, чтобы на ней подробно останавливаться. Если вкратце, то здесь такие полезные функции, как:
- отправка почтовых уведомлений при появлении новых комментариев;
- защита от спама;
- оценка комментариев;
- и много других полезных и приятных мелочей.
Кроме всего прочего, если вам нужна система древовидных комментариев, то для этих целей есть настройка - «глубина вложенности комментариев». В общем, данный тип поля очень гибкий и многофункциональный.
После того как разобрались с настройками поля, пришло время вывести его в шаблон статьи. Сделать это проще простого.
Какой именно код за что отвечает и куда его вставлять, можно прочитать в настройках самого поля – если прокрутить содержимое вкладки «Расширенные настройки» в самый низ.
PHP код для вставки:
<?php echo $page->comments->renderAll(); ?>
я разместил его в файл шаблона post.php, на всякий случай обернув его в div. Мало ли, вдруг впоследствии ему придётся прописать какие-то стили. Вот как это всё выглядит в итоге:
Собственно, теперь если перейти на страничку поста, то уже можно будет увидеть форму с комментариями. Однако выглядит она некрасиво, поэтому подключим файл со стилями, который будет отвечать за стилизацию комментариев.
Для этого открываем файл _main.php и следующую строку:
<link rel='stylesheet' type='text/css' href='<?=$config->urls->FieldtypeComments?>comments.css' />
добавляем в конец секции head
Ну и, если предполагается что на сайте будет использоваться древовидная система комментариев, перед закрывающим тэгом body подключаем Javascript файл:
<script type='text/javascript' src='<?=$config->urls->FieldtypeComments?>comments.min.js'></script>
В итоге форма для комментария приобретёт следующий вид:
Собственно, форма эта уже работающая и через неё даже можно оставить какой-либо комментарий. Если сейчас попытаться это сделать, то можно увидеть, что публикация комментария находится в стадии модерации. Теперь если в админке перейти на страничку поста, то можно увидеть комментарий, который ожидает своего одобрения.
Чтобы опубликовать его на сайте, достаточно выставить ему соответствующий статус. Вот как это будет выглядеть в итоге:
Вот таким простым способом мы организовали простую систему комментариев на сайте. Как всегда, все шаблоны, в которые были внесены правки, прикладываю.