В этой статье я расскажу, как с помощью поля Email организовать форму обратной связи для сайта.
SEBLOD - Конструктор контента(CCK) для Joomla. Часть 9. Поле Email. Как создать форму обратной связи.

Пришло время для описания еще одного сложного поля Seblod Email. Как можно догадаться по названию, это поле предназначено для всяческой работы с email-сообщениями. В этой статье я расскажу, как с помощью поля Email организовать форму обратной связи для сайта. Можно, конечно, использовать для формы обратной связи одно из десятков дополнительных расширений или стандартные возможности Joomla, но если у вас на сайте установлен SEBLOD, с его помощью вы сможете сделать форму сколь угодно мощную и удобную именно вам.

Поле SEBLOD Email. Настройки.

Прежде, чем создавать форму обратной связи, неплохо бы разобраться с настройками поля Email. С этого и начнем.

Получилось так, что в Рунете уже есть статья с детальным описанием настроек этого поля. Причем эта статья хорошо написана и красиво оформлена. Она мне очень понравилась. Думаю, что понравится и вам. Чтобы не делать одну и ту же работу, просто даю ссылку на статью.

>>>Описание настроек поля Email<<<

>>>Описание настроек поля Email(сохраненная PDF -копия)<<<

После ознакомления с настройками возвращайтесь, будем делать форму обратной связи.

Поле SEBLOD Email. Создание формы обратной связи.

Для начала следует определиться с несколькими вещами:

  1. Какие поля будет содержать форма обратной связи?
  2. Будут ли запросы из формы обратной связи сохранятся в базу данных?

Начнем с полей. Наша форма будет достаточно простой, а потому в ней будут поля:

  • Ваше имя
  • Ваш email
  • Ваше сообщение
  • Защита от спама
  • Кнопка отправки сообщения

Здесь все просто.

Теперь разберемся с сохранением данных. Здесь существует 2 варианта:

  1. Всё, что делает форма – отправляет письмо администратору.
  2. Форма отправляет письмо администратору и сохраняет его в базу данных, что дает возможность обратиться к базе писем в дальнейшем.

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

Поле SEBLOD Email. Создание формы обратной связи.

Эта форма будет простейшей. Создаем ее по шагам.

Шаг 1. Создаем пакет для формы обратной связи (необязательно).

Пакет создается для того, чтобы в дальнейшем нашу форму можно было использовать и на других сайтах. Благодаря пакетам мы сможем экспортировать форму и установить ее в любое место, где есть SEBLOD. Если вы не собираетесь использовать форму в других проектах, то этот шаг можно пропустить.

Для того, чтобы создать пакет, переходим в Construction –> Appfolders –> New. В открывшейся форме заполняем все поля, как показано на рисунке:

seblod: форма обратной связи

После сохранения в списке пакетов можно будет увидеть и наш:

seblod: форма обратной связи

Шаг 2. Создаем тип контента для формы обратной связи.

После того, как пакет создан, переходим к созданию типа контента, или, проще говоря, нашей формы. Для этого переходим в Construction–> Forms & ContentTypes и жмем кнопку «Создать»:

seblod: форма обратной связи

После заполнения названия и пакета обязательно сохраняем форму.

Шаг 3. Создаем поля для формы обратной связи.

После того, как форма создана, начинаем создавать для нее поля, которые будут заполнять пользователи. Поскольку данные не будут сохранятся в базу, для всех полей мы выбираем хранилище «-None-».

Определимся с тем, каких типов будут поля:

  • Ваше имятекстовое поле
  • Ваш emailполе Email
  • Ваше сообщениеобласть текста (Textarea)
  • Защита от спамаCaptchaMath
  • Кнопка отправки сообщенияButtonSubmit

Теперь создаем поля и добавляем их в форму. На рисунках ниже показаны настройки полей:

Поле «ваше имя»

seblod: форма обратной связи

Поле «ваше сообщение»

seblod: форма обратной связи

Поле «защита от спама»

seblod: форма обратной связи

Поле «кнопка отправки сообщения»

seblod: форма обратной связи

Поле «ваш email»

seblod: форма обратной связи

Кроме основных настроек поля Email, нам также нужно сформировать тело сообщения. Это делается в настройках поля Email, по ссылке Editor. Ниже представлен текст сообщения со вставленными в него переменными:

seblod: форма обратной связи

Шаг 4. Наполняем тип контента обратной связи созданными полями.

Поскольку форма обратной связи нужна только на лицевой стороне сайта(фронтенде), то заполнять полями мы будем лишь вкладку типа контента «Site». Остальные вкладки заполнять не требуется. Переносим все созданные в предыдущем шаге поля в конструктор, распределяя по позициям. Я помещу все поля в одну позицию, так они будут показаны друг под другом:

seblod: форма обратной связи

Здесь нужно сделать еще одну важную настройку. Поскольку все поля у нас обязательны для заполнения, то сделаем их таковыми. Для этого здесь же переходим во вкладку «3» и ставим во всех Required, кроме Submit, «Да». Заодно здесь же установим и проверку правильности email. Для этого укажем email в столбце Validation напротив соответствующего поля. Наведем еще немного красоты и укажем текст подсказок, которые будут появляться, если поле не заполнено.

seblod: форма обратной связи

После этого шага форма обратной связи почти готова.

 

Шаг 5. Дополнительные настройки формы обратной связи.

Остается сделать несколько настроек на вкладке Configuration. Все они описаны на рисунке:

seblod: форма обратной связи

 

Шаг 6. Создание пункта меню, ведущего на форму обратной связи.

Чтобы наша форма была видна на сайте, создадим пункт меню, ведущий на нее. Для этого в менеджере меню создаем новый пункт типа Seblod– Form и справа выбираем наш тип контента:

seblod: форма обратной связи

После сохранения на сайте появится созданный пункт меню.

Ну вот и всё, форма обратной связи полностью готова. Остается только проверить ее работоспособность.

Форма на сайте:

seblod: форма обратной связи

Письмо, которое приходит администратору:

seblod: форма обратной связи

Поле SEBLOD Email. Важное замечание!

В описанном примере я использовал поле email и как форму ввода адреса и как плагин отправки сообщения. При таком подходе сообщение отправляется не только администратору, но и отправителю на email-адрес, который он ввел в форме.

Если требуется отправить сообщение только администратору, то для получения email пользователя нужно использовать отдельное текстовое поле, а поле email сделать скрытым.

На этом всё. С помощью SEBLOD вы можете создать сколь угодно сложную форму обратной связи, но помните, не надо стрелять из пушки по воробьям. Если вам нужна только простая форма обратной связи и ничего больше, то гораздо логичнее использовать встроенный компонент контактов Joomla, а не SEBLOD.

По ссылке ниже вы можете скачать пакет описанной в статье формы обратной связи. Он устанавливается через менеджер расширений Joomla и требует наличия установленного SEBLOD’а.

>>>Форма обратной связи wedal_feedback_simple<<<

------------------------------

Если нет желания разрабатывать сайт самостоятельно, то стоит обратить внимание на web-студии. Например созданием сайтов недорого в Ростове-на-Дону занимается ROSTOV design (http://www.rostov-design.ru/).

Понравилась статья? Сохраните себе на стену:

Ваша оценка материала очень важна для нас. Просим вас оценить статью или оставить отзыв в комментариях ниже.

4.9090909090909 1 1 1 1 1 4.91

Другие статьи серии

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

Для отправки комментария введите код с картинки:
Защитный код
Обновить

Комментарии  

0 # Ширина поляDevol 17.06.2016 17:01
Здравствуйте!
Прошу прощения за чайный вопрос. А где можно отрегулировать ширину конкретно выводимого поля на сайте? Например, капчи?
Ответить | Ответить с цитатой | Цитировать
0 # RE: Ширина поляWedal 20.06.2016 05:11
Devol, либо в настройках самого поля (опция size), либо, что правильнее, в CSS (например: width: 100px;).
Ответить | Ответить с цитатой | Цитировать
0 # RE: Ширина поляDevol 20.06.2016 06:19
Wedal, я исходил из Вашего скриншота готовой формы, где поле капчи math явно по размеру отличается от остальных. Оно меньше и это логично из-за добавленных впереди чисел. Я использовал версию 3.8.2., она по умолчанию все поля выводит абсолютно одинаковыми по ширине, вроде бы удобно, но вот как раз из-за этих "чисел" в капче, width которых видимо не учитывается, это поле вылезает вправо как раз на их ширину. Маленький, но бардак, не грамотно. Настройка (индивидуальная) этого поля size ровным счетом ничего не меняет (или работает в совокупности с чем то, не нашел), а в CSS, как я понимаю, смогу изменить ширину вообще всех полей, что тоже ничего не даст. Вот я и подумал, глядя на Вашу картинку, что ширина конкретного поля где-то безболезненно изменяется, у Вас то оно явно меньше остальных.
Ответить | Ответить с цитатой | Цитировать
0 # RE: Ширина поляWedal 21.06.2016 04:43
Devol, через CSS вы можете обратиться к отдельному полю. В SEBLOD все поля имеют уникальные классы и/или идентификаторы. Вопрос лишь в том, понимаете ли вы CSS. Можете показать мне сайт и указать поле. Я напишу вам, как обратиться к полю через CSS.
Ответить | Ответить с цитатой | Цитировать
0 # RE: Ширина поляDevol 21.06.2016 05:59
Вы правы, с CSS я не на ты. ))
Экспериментирую вот здесь. http://soft.devols.ru/forma-obratnoj-svyazi
Поле капчи.
Ответить | Ответить с цитатой | Цитировать
0 # RE: Ширина поляWedal 22.06.2016 04:41
Devol,
Код:
#seblod_form #fos_kaptcha{
width: 100px;
}

либо:
Код:
#seblod_form #fos_kaptcha{
display: block;
clear: both;
}

Добавить это нужно в CSS-файл вашего шаблона Joomla. Не используйте для сайта шаблон Protostar в исходном виде. Он является частью Joomla и при обновлении Joomla будет переписан. Потеряете все изменения.
Ответить | Ответить с цитатой | Цитировать
0 # RE: Ширина поляDevol 22.06.2016 10:18
Wedal, благодарю! Все работает. Могу потихоньку продвигаться дальше. Большое спасибо!
Ответить | Ответить с цитатой | Цитировать
0 # РазобралсяM0EStRO 27.10.2015 13:05
В поле Send E-mail не указал always
Ответить | Ответить с цитатой | Цитировать
0 # Не отправляются письмаM0EStRO 27.10.2015 12:21
Сделал все по инструкции. Но есть 2 проблемы: 1.Не показывается каптча, 2. Письма не приходят на почту.(после отправки появляется сообщение, что ваше письмо отправлено, но ничего не приходит.)
Ответить | Ответить с цитатой | Цитировать
0 # Email для Seblod 3xExelenz 20.12.2014 14:11
Уважаемый Виталий, в Sebloid 3x нет разрешения заполнить форму незарегистрированным пользователям (шаг 5, нижняя часть скриншота). Настройки заканчивается Validation. Искал в других местах - не нашел. Т.е. форма появляется на сайте после регистрации, для незарегистрированных появляется ошибка и форма входа. Понимаю, что так не должно быть, поскольку к каким то формам должен быть доступ только зарегистрированным, к каким то - всем, и общим доступом проблему не решить. Где искать, подскажите?
Ответить | Ответить с цитатой | Цитировать
0 # RE: Email для Seblod 3xWedal 22.12.2014 04:07
Exelenz, смотрите рисунок:
Ответить | Ответить с цитатой | Цитировать
0 # Не удается отправить нужные поля письмомlanworks 13.08.2014 05:13
Добрый день. Позвольте задать вопрос.

Создана форма с "radio_button", со значениями 1, 2, 3, 4, 5
При отправке почты в теле письма ни как не могу вывести выбранное значение.

Пример письма:
Здравствуйте, #user_name#, Вы выбрали #radio_button#...

Поле #radio_button# в письме пустое.

Подскажите пожалуйста как реализовать?
Заранее благодарю.
Ответить | Ответить с цитатой | Цитировать
0 # RE: Не удается отправить нужные поля письмомWedal 14.08.2014 04:16
lanworks, попробуйте так:
Код:$cck->getValue('radio_button');
Убедитесь, что имя поля действительно "radio_button".
Ответить | Ответить с цитатой | Цитировать
0 # group и groupxalves76 15.01.2014 08:01
Сложной оказалась задача по отправлению данных из полей GROUP и особенно GROUPX. Если подставляю в сообщение [fields], то все вставляется в сообщение email, но к сожалению эти данные нет возможности форматировать. Может кто решал подобную проблему?
Ответить | Ответить с цитатой | Цитировать
0 # RE: group и groupxWedal 15.01.2014 09:01
alves76, совсем понял, в чем проблема. Если вы подставляете значение поля GROUPX в письмо, то не можете его отформатировать? Почему? Что именно мешает? Не те данные? Пишите подробнее.
Ответить | Ответить с цитатой | Цитировать
0 # RE: group и groupxalves76 16.01.2014 08:00
Проблема в том, что я не могу найти решение для вставления данных из GROUPX в email message. Переменные типа #название_поля_group_или_groupx# не работают. Другие поля работают как и должны. ...пример с [field] я привел для того, чтобы описать, что, все же, есть возможность захватывать данные из groupx, но в этом случае нет возможности работать с отдельными полями, так как форма рендерится целиком. Мне же нужно вставлять данные из полей в собственный шаблон письма.
Ответить | Ответить с цитатой | Цитировать
0 # RE: group и groupxWedal 17.01.2014 07:47
alves76, GROUPX - специфичное поле. Универсального рендера для него не создать просто потому, что всем нужно выводить данные по-разному. Здесь я вижу только вариант создания собственного шаблона. С ходу не могу сообразить, получится ли прикрутить его к письму, но скорее всего да. Отличие от того, что вы делаете в редакторе, будет только в том что переменные вставляются через PHP, зато в этом случае вы можете самостоятельно распарсить данные GROUPX как душе угодно, конечно при условии, что знакомы с PHP. Посмотрите статью http://wedal.ru/rasshireniya-joomla/seblod-konstruktor-kontenta-cck-dlya-joomla-chast-11-znakomstvo-s-shablonami-seblod.html . Там описано про шаблоны.
Ответить | Ответить с цитатой | Цитировать
0 # RE: group и groupxalves76 20.01.2014 08:16
Интересно что [fields] выдает все поля. И fieldx и groupx....
Ответить | Ответить с цитатой | Цитировать
0 # Сообщения сохраняются в материалахNikita 09.07.2013 13:34
Здравствуйте, подскажите пожалуйста, сообщения сохраняются в материалах(дата вместо заголовка, остальное пусто), что может быть не правильно? Как исправить?
Ответить | Ответить с цитатой | Цитировать
0 # RE: Сообщения сохраняются в материалахWedal 12.08.2013 08:27
Nikita, посмотрите внимательно первый пункт, первый рисунок.
Ответить | Ответить с цитатой | Цитировать
0 # Отправка предупреждения о добавлении материалаskyz 05.07.2013 07:20
Спасибо за классную статью. У меня вопрос, никак не могу понять как сделать. Есть анкета на сайте которая заполняется и приходит в админку неопубликованная - это я сделал. Подскажите, как сделать чтоб при нажатии отправить еще приходило сообщение на e-mail, что анкета добавлена? Заранее спасибо
Ответить | Ответить с цитатой | Цитировать
0 # RE: Отправка предупреждения о добавлении материалаWedal 12.08.2013 08:23
skyz, просто добавьте в форму поле email, по аналогии, как рассказывается в статье и сделайте его скрытым.
Ответить | Ответить с цитатой | Цитировать
0 # каптчаОлег 18.12.2012 13:55
ДА кстати Поле Защита от спама почему то не добавляется, в чем проблема так и не понял, вроде все как здесь указано сделал.
Ответить | Ответить с цитатой | Цитировать
0 # подсказкиОлег 18.12.2012 13:54
Когда указываю поле обязательным для заполнения и указываю подсказку "Это поле обязательно", то в форме при наведении выходит корявая подсказка "CCK_COM_Это_поле_обязательно"
Добавил переопределение констант (только вручную, через админку кириллицу не проглатывает"), все равно не помогает. что делать?
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 9. Поле Email. Как создать форму обратной связи.sp 19.10.2012 13:35
Копирайты на картинках слишком маленькие и незаметные. Надо было сделать побольше и поплотнее, так чтобы по всей площади изображения шли. А то украдут и продавать будут по тыще евро за штуку.
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 9. Поле Email. Как создать форму обратной связи.Wedal 20.10.2012 02:51
sp, сделал бы побольше, да врожденная скромность не позволяет.
Ответить | Ответить с цитатой | Цитировать
0 # Будет ли материал по мультирегистрацииsebrotaller 30.08.2012 13:26
День добрый, wedal!

Спасибо за отличные статьи про Seblod! На данный момент нуждаюсь в форме регистрации для разных типов пользователей, поэтому хотел спросить.
Можно ли с помощью Seblod сделать регистрацию двух типов пользователей таким образом, чтобы при нажатии кнопки "Зарегистрироваться" появлялась страница с двумя Radio button и только после выбора одного загружались остальные соответствующие поля?
Если такое возможно, то как это сделать? Думаю это может стать хорошей статьей для будущего поколения.
Ответить | Ответить с цитатой | Цитировать
0 # RE: Будет ли материал по мультирегистрацииWedal 31.08.2012 03:45
sebrotaller, теоретически - можно. Практически - не пробовал. Дойдем и до этого.
Ответить | Ответить с цитатой | Цитировать
0 # Не работает функция сохранения контентаSambuka 27.08.2012 19:21
Сайт стоит на локалке, Joomla 2.5.6, seblod версии 2.3
Обнаружил что не сохраняется элемент никакого даже самого простого контента: нет ни отправки контента при нажатии кнопки submit, ни при сохранении материала из админки. Аналогичная ситуация даже при размещении статьи через готовую форму от seblod.
Кто-нибудь сталкивался с такой проблемой?
Ответить | Ответить с цитатой | Цитировать
0 # Выборка по условиюВладислав 22.08.2012 08:37
Спасибо за очередной урок. Благодаря Вашим урокам смогу войти в курс по SEBLOD. Хотелось бы услышать подробную информацию по выборкам и различным условиям выборки SEBLOD LIST. :-)
Ответить | Ответить с цитатой | Цитировать
+2 # SEBLODЕгор 21.08.2012 12:59
Форма обратной связи это хорошо, фотогалерея тоже. Но для реализации всего этого есть десятки прекрасных расширений для Joomla.
А вот как с помощью SEBLODа реализовать хотя бы простую доску объявлений с отдельными кабинетами для пользователей в которой они бы смогли редактировать свои объявления или каталог с несколькими фильтрами?
Спасибо за автору за его труд.
Жду с нетерпением следующую статью.
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLODzloy_pozitiv 22.08.2012 14:48
Цитирую Егор:
Форма обратной связи это хорошо, фотогалерея тоже. Но для реализации всего этого есть десятки прекрасных расширений для Joomla.
А вот как с помощью SEBLODа реализовать хотя бы простую доску объявлений с отдельными кабинетами для пользователей в которой они бы смогли редактировать свои объявления или каталог с несколькими фильтрами?
Спасибо за автору за его труд.
Жду с нетерпением следующую статью.

Тоже очень нуждаюсь. Читал у вас на форуме про разные кабинеты и ничего не получилось (((
Заранее благодарю за совет.
Спасибо Wedal за его труд!!!
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLODWedal 23.08.2012 04:53
Егор, zloy_pozitiv, идем от простого к сложному. Дойдем, рано или поздно, и до этого.
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 9. Поле Email. Как создать форму обратной связи.seblod.pro 21.08.2012 10:06
Wedal, спасибо за интересный и полезный многим материал, и за ссылку на статью :-). Как всегда очень подробно и написано понятным языком.
Небольшое замечание, если позволишь - на скриншоте поля e-mail этого не видно, но Storage у него также должен быть None (если мы лишь отправляем письмо, а не сохраняем как материал), иначе будет создано поле в БД, которое нам не нужно.
Ответить | Ответить с цитатой | Цитировать
0 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 9. Поле Email. Как создать форму обратной связи.Dgikar 21.08.2012 08:48
Wedal, спасибо за лестные отзывы о моей статье
Ответить | Ответить с цитатой | Цитировать
+1 # RE: SEBLOD - Конструктор контента(CCK) для Joomla. Часть 9. Поле Email. Как создать форму обратной связи.Wedal 23.08.2012 04:52
Dgikar, хорошая статья. Заслуживает. :-)
Ответить | Ответить с цитатой | Цитировать

Вверх