Гостевая книга на 1С-Битрикс

К моему большому изумлению ни в одной редакции Битрикса не оказалось компонента «Гостевая книга». Некоторые разработчики предлагают купить у них готовый модуль. Но мы пойдем другим путем – создадим необходимый нам функционал сами.

Для этого нам понадобится создать соответствующий инфоблок. Для начала создадим тип инфоблока Гостевая книга (guestbook).

Также создадим и сам инфоблок с идентичным названием. Для того что бы посетители сайта (в том числе и незарегистрированные) могли оставлять новые записи следует на вкладке «Доступ» изменить значение для всех типов пользователей на «Изменение».

В результате наших действий в левой панели сайта появится такая картина:

Теперь в структуре сайта создадим раздел «Гостевая книга». Редактируем index.php этого раздела. Добавляем на страницу 2 компонента: список новостей( bitrix:news.list) и форму добавления / редактирования ( bitrix:iblock.element.add.form). У обоих компонентов в качестве инфоблока выбираем созданную нами «Гостевую книгу».

Компоненты размещаем в любом порядке и приводим их отображение в соответствии с дизайном сайта.

Гостевая книга почти готова. Для завершения осталось задать правильные подписи к полям.

Советую использовать CAPTCHA – этот предохранит сайт от спама. Также, советую не делать активными записи после добавления, а доверить эту работу администратору сайта.

Гостевая книга на 1С-Битрикс: 9 комментариев

  1. А настроить ограниченное количество полей для ввода пользователей возможно? т.е. имя, майл, и текст сообщения?

  2. Да, конечно. Для этого у нас есть параметр «Свойства, выводимые на редактирование». В нашем случае он будет служить для добавления. Но судя по интересующих Вас полям я бы советовал использовать форму обратной связи (bitrix:main.feedback).

  3. Спасибо за отличный материал по этой теме! Всё прекрасно работает, единственное не могу нарыть нигде замену названия полей списка.
    В форме добавления сообщения имена полям можно задать свои, а вот при выводе их через «список новостей» не могу найти где заменить название полей.

    В результате получается:

    Название: Василий
    Детальное описание: Тестовая запись

    подскажите пожалуйста где можно заменить название полей «Детальное описание» и «Название» на свои.

  4. Donato, в данном случае Вам нужно либо изменить шаблон для этого компонента либо языковой файл в шаблоне.

  5. Спасибо огромное! Поправил в шаблоне смотрится так как надо!

    У вас замечательный блог!

  6. Donato, приходите еще;) Если есть небольшие темы для постов в блоге на тему how to do — пишите. Постараюсь ответить в виде новых записей.

  7. Вопрос: пользователь зашёл и оставил запись, админ зашёл и написал ответ/исправил её. Кэш обновил, но всё равно получается — под пользователем видна пользовательская версия записи, под админом — админовская…

  8. Спасибо за информацию, ответьте, пожалуйста, еще на такой вопрос: как сделать так, чтобы после успешного заполнения формы администратору сайта отправлялось письмо на e-mail с информацией о заполнении формы? Реализуемо ли это штатными методами Битрикса (то есть без правки кода компонента, регистрации обработчиков событий и т.п.)?

  9. Да.
    Есть такое почтовое событие как «Создан новый элемент инфо-блока»

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Перед отправкой формы:
Human test by Not Captcha

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.