Добавление полей Сайт и Ник в форму комментирования для комюзеров в MaxSite CMS
Добавление полей Сайт и Ник в форму комментирования для комюзеров в MaxSite CMS
В статье пойдет речь о том, как и зачем добавить в форму комментирования комюзерами еще два поля: Сайт и Ник.
Совсем небольшой модификации подвергнутся функции mso_get_new_comment() и get_mso_get_comments(), которые находятся в файле common/comments.php.
Кроме того, нужно добавить в свой шаблон type_foreach файлы page-comment-form.php и page-comments.php.Зачем нужны еще два поля Ник и Сайт в форме комментирования MaxSite CMS?
В MaxSite CMS, в форме добавления комментария незарегистрированным комюзером имеется только два поля: email и пароль. Остальные атрибуты, предполагается, что комментатор заполнит после регистрации, зайдя в свой профиль.Однако я себе плохо представляю, что после того как коммент оставлен, пользователь еще будет заходить в свой кабинет и что-то там делать. Ну не будет никто тратить на это время.
В итоге, комюзеры так и остаются без Ника и в ленте комментариев мы вместо имен видим Комментатор nn.
Кроме того, мне кажется что пользователи не очень осведомленные в IT (коих у меня на одном сайте большинство), путаются и, не видя где ввести имя при регистрации как комментатор, оставляют комментарий как Аноним.
При комментировании же анонимно все ясно – имеется единственное поле для Имени.
Как результат - все Анонимы имеют имена, а все комюзеры только номера.
Пойдем далее.
Не секрет, что большинство комментариев в блогах возникают лишь с одной целью – оставить адрес сайта. Форма комментирования в MaxSite CMS не имеет поля Сайт или URL, чем отпугивает вышеуказанных комментаторов. Это не всегда хорошо.
Можно, конечно, написать что указать сайт и т. п. можно, зайдя к себе в профиль, но это мне кажется слишком лишней суетой.
Как изменить MaxSite CMS для добавления полей Сайт и Ник в форму добавления комментария.
Сразу огорчу – придется править две функции в файле common/comments.php, правда – совсем не много.
Или создать в functions.php шаблона модифицированные функции и вызывать их.
Модифицировать же придется две функции: mso_get_new_comment() и mso_get_comments()
Модификация mso_get_new_comment()
Научим эту функцию принимать Сайт И Ник нового комюзера.
В коде функции нужно найти такое:
- // такого комюзера нет
- $ins_data = array (
- 'comusers_email' => $comments_email,
- 'comusers_password' => mso_md5($comments_password)
- );
- // такого комюзера нет
- $comusers_url = mso_xss_clean($post['comusers_url']);
- if ($comusers_url and strpos($comusers_url, 'http://') === false)
- $comusers_url = 'http://' . $comusers_url;
- $comusers_nik = mso_xss_clean($post['comusers_nik']);
- $ins_data = array (
- 'comusers_email' => $comments_email,
- 'comusers_password' => mso_md5($comments_password),
- 'comusers_url' => $comusers_url,
- 'comusers_nik' => $comusers_nik,
- );
Модификация mso_get_comments()
В этой функции найдем формирование в SQL запросе списка полей, получаемых из БД:- comusers.comusers_id,
- comusers.comusers_nik,
- comusers.comusers_count_comments,
- comusers.comusers_allow_publish,
- comusers.comusers_email,
- comusers.comusers_avatar_url
- comusers.comusers_url,
Дальше – проще. Теперь нужно подправить шаблонный файл вывода формы комментирования.
Шаблонный файл type_foreach/page-comment-form.php
Правильно изменять шаблон путем добавления foreach-файлов в папку type_foreach.
Скопируем файл шаблона type/page-comment-form.php в папку type_foreach.
И добавим в форму для нового комюзера поля ввода comusers_nik и comuser_url.
Вот как выглядит участок кода ввода атрибутов нового комюзера после модификации:
Показать...Шаблонный файл type_foreach/page-comments.php
Теперь самое главное – чтобы адрес сайта комментатора выводился при выводе комментов.
Сейчас ссылка с Ника комментатора ведет на страницу его профиля в MAX Site CMS.
Сделаем по другому: Ссылка с ника комъюзера будет вести на его сайт а затем выведем ссылку "(профиль)", которая и будет вести на станицу профиля на вашем сайте.
Сделать это правильно нужно, опять же, при помощи foreach-файла page-comments.php.
В этом файле реализуется тело цикла вывода комментариев.
Содержимое файла type_foreach/page-comments.php:
Показать...Разместите его в папке type_foreach вашего шаблона и он подхватится циклом вывода комментариев.
Можете поправить оформление этого файла.
Результат можете протестировать в этом блоге.
mso_get_pages и типы данных в MaxSite CMS: что это и как эти штуки связанны.
Вопрос, который можно считать классическим: Я хочу, чтобы статьи в обратном ...
Вывод всех меток в виде дерева для сайта на MaxSite CMS
В предыдущей статье на эту тему Вывод меток сайта деревом я пытался ...
Страница-форма регистрации для MaxSite CMS
В MaxSite CMS есть два вида пользователей: users и comusers, информация о которых ...
Классификация пользоательских метаполей и способов их вывода для MaxSite CMS.
MaxSite CMS позволяет к существующим полям страницы добавлять произвольные ...
MaxSite плагин ABC-catalog 1.1.
Добавил некоторые возможности. Архив плагина: abc_catalog-1-1.zip Раньше настоящий ...











Спасибо. Давно ждал подобного решения сей проблемы
Как раз начал делать приватный блог для своей группы инвесторов.
Я сам давно ждал решение этой проблемы.
Если бы я раньше знал что так просто - давно бы сделал.
Впрочем, в MaxSite все просто!!!