компонент форм для joomla 3

Разработка форм обратной связи для магазинов на Joomla 3

Преамбула

В современном интернет-магазине должно быть немало форм обратной связи. Интернет-маркетологи стараются предупредить все возможные ситуации и порой создают формы обратной связи чуть ли ни на каждый потенциальный интент пользователя.

Оставив за скобками традиционные «заказать звонок», «подписаться на новости» привожу примеры форм интернет-магазина/каталога, которые мне доводилось встречать на практике при работе с Joomla 3:

…и т.д. и т.п. Чудный мир фантазий интернет-маркетолога (безусловно опирающийся на данные аналитики, мониторинг конкурентов и рынка в целом, профессиональное чутьё и опыт) предлагает самые разные варианты ответа на вопрос: «как достать клиента?»

Задача

Создать N-е количество форм обратной связи для интернет-магазина на базе Joomla. Формы должны быть красивыми и информативными, не вызывать неточного толкования у посетителя в том, что он делает. В форму выводим информацию о товаре и интент пользователя.

В форме должен меняться заголовок («Задать вопрос», «узнать цену» и т.д.), картинка товара, его цена, название и артикул.

К каким проблемам это приводит?

Мы постоянно слышим о том, что что-то можно сделать «легко и быстро», однако забываем о том, что для этого нужны знания и опыт. Везде.

Чаще всего один модуль имеет только одну настройку темы письма (ручками указываем «задать вопрос», «купить оптом»). В итоге получается, что мы на каждый интент пользователя создаем отдельный модуль. Сверяемся со списком форм выше и получаем 9 однотипных модулей только для каталога товаров. Значит мы получаем много мусора в коде страницы и все вытекающие отсюда минусы.

Форма обратной связи для Joomla своими руками

Ну, почти своими. Описываемый ниже подход подойдет для любых форм обратной связи. И отдельный акцент мы делаем на формах, в которых нужно указать информацию о товаре.

компонент форм для joomla 3

Замена модулей обратной связи на плагин-обработчик

Если кратко, то обычно каждое стороннее расширение тянет за собой js-скрипты, css, которые далеко не всегда вписываются в контекст сайта. В итоге всё равно приходится делать свой макет вывода. А если автор стороннего модуля решил сделать решения в духе No code (то есть максимум настроек внешнего вида в админке), то для разработчика работа с таким решением может превратиться в ад.

С Radical Form становится возможным следующий подход в работе:

вы делаете свой HTML формы (вообще любой!),

кнопке «отправить» назначается класс ‘rf-button-send’

код формы размещаете в модуле типа «HTML-код» везде, где это необходимо.

И оно работает. Именно это решение мы разовьём в тексте ниже. Так же рекомендую ознакомиться с документацией по Radical Form для лучшего понимания общей картины.

Несколько форм в одной

Чаще всего формы показываются в модальных (всплывающих) окнах. Я в основном работаю с сайтами в стеке Bootstrap, поэтому примеры HTML будут приведены для него. Однако, в контексте данной статьи не имеет значение CSS-фреймворк.

В data-атрибуты кнопки можно поместить самую разную информацию. В некоторых случаях я помещаю туда нужные для отображения поля формы (name, email, phone, comment), какие из них должны быть обязательными для заполнения и т.д. Например, получение обязательных полей из атрибута data-fields-required кнопки, имена которых указаны через запятую:

Подробно кейс создания множества форм в одной с примерами форм и кода был разобран здесь: Интеграция форм обратной связи и Битрикс 24 на сайте Joomla.

Таким образом мы размещаем в коде сайта только 1 модуль с HTML-кодом формы обратной связи и в любом нужном нам месте кнопки для вызова модального окна с нужными data-атрибутами. А создание новой формы сводится к копированию кода кнопки и указанию нужных data-атрибутов.

Получение информации о товаре для формы обратной связи

Для красивого модального окна нам нужно брать информацию о товаре: картинку, название товара, артикул, цену.

Первый путь, совсем неправильный

Второй путь, тоже неправильный

Приведу в качестве примера магазин на Virtuemart 3. Шаблоны дизайна для этого магазина делаются с помощью переопределений Joomla (хороший мануал по шаблонам Virtuemart 3 и список макетов). То есть файлы, где описана вёрстка, лежат в папке templates/ваш_шаблон/html/com_virtuemart/. В качестве подопытного кролика у нас будет список товаров в категории.

Передача данных из php в javascript в Joomla

Дело в том. что в Joomla есть простой и удобный способ передачи данных из php в javascript.

Данные передаются в виде json-объекта, доступ к которому с фронта получаем через функцию Joomla.getOptions(‘virtuemart_products_details ‘). Это стандартная функция Joomla, никаких дополнительных плагинов для этого устанавливать не нужно.

Для этого мы идём в файл templates/ваш_шаблон/html/com_virtuemart/category/default.php и циклом добавляем нужные нам данные о товарах Virtuemart в отдельный массив.

А затем получаем данные на фронте в js:

Для карточки товара аналогичные операции проводим с файлом templates/ваш_шаблон/html/com_virtuemart/productdetails/default.php

Почему этот путь тоже неправильный?

Плагин создаем в группе Jshoppingproducts, таким образом не будет попытки выполнить наш код при просмотре статьей, страниц с контактами, при переходах в админке и т.д. Он будет работать только там, где надо. Так же наш код, будучи самостоятельным плагином, не пострадает при обновлении Joomla, при обновлении компонента магазина.

Для карточки товара мы находим событие onAfterDisplayProduct, куда приходит объект с данными товара.

Для категории товаров используем событие onBeforeDisplayProductListView, куда приходит $view целиком и список товаров отдельно $productlist.

Результат работы плагина будет таким:

Готовый плагин для добавления данных товара в json-объект для JoomShopping можно скачать здесь. Добавлены параметры в настройку плагина:

компонент форм для joomla 3 компонент форм для joomla 3

Заключение

Цель данной статьи была поделиться своим опытом в работе с различными магазинами на Joomla. Возможно, он кому-то будет полезен. Возможно, кто-то предложит другие, альтернативные пути решения той же задачи. Предложения и улучшения приветствуются в комментариях.

Источник

Joomla: компонент RSForm

Дата публикации: 2016-03-10

компонент форм для joomla 3

От автора: приветствую Вас уважаемые читатели. Формы – это неотъемлемая часть современного сайта, так как благодаря им владелец сайта или администратор, может принимать от пользователей различную информацию, к примеру, вопросы связанные с работой сайта или компании, данные необходимые для выполнения каких либо услуг и т.д. Но стандартный функционал CMS Joomla, не предоставляет инструментов для создания форм с произвольным набором полей. Поэтому в данном уроке мы с Вами рассмотрим, очень мощный компонент под названием RSForm Joomla 3, который представляет собой достаточно удобный конструктор форм.

Как Вы знаете CMS Joomla в плане создания форм, предоставляет инструменты по созданию страниц регистрации и авторизации, а так же страницы контактов, на которой можно отобразить форму, отправки сообщения пользователю связанным с конкретным контактом. То есть, функционал, мягко говоря, не богатый. И если необходимо отобразить на некоторой странице форму с произвольным набором полей, без стороннего расширения просто не обойтись. Соответственно наилучшим расширением по созданию форм на сегодняшний момент является компонент Joomla RSForm PRO.

Итак, компонент RSForm PRO – это универсальный многофункциональный инструмент, предназначенный для создания форм, практически неограниченного функционала. При этом для создания форм предусмотрена удобная и интуитивно понятная панель управления, благодаря которой, процесс добавления формы доставляет только одно удовольствие. Основные возможности компонента.

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

компонент форм для joomla 3

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Защита от спама, с использованием различных плагинов.

Интеграция с наиболее популярными компонентами CMS Joomla.

Экспорт добавленных данных в CSV, Excel, OpenOffice, XML и PDF.

Сохранение отправляемых файлов.

Гибкая настройка форм и полей (как внешнего вида, так и функционала).

Поддержка огромного количества разнообразных полей.

Правда, помимо плюсов, есть небольшой недостаток, который связан с тем, что расширение распространяется исключительно на платной основе. Есть правда бесплатная версия, но она значительно устарела и подходит только для версии Joomla 1.5. Компонент RSForm PRO доступен на официальном сайте расширения CMS Joomla по следующей ссылке.

компонент форм для joomla 3

Кликнув по кнопке “Download” Вы перейдете на сайт разработчика компонента RSForm.

компонент форм для joomla 3

Далее в верхнем меню, выбираем пункт “Extensions” и в выпадающем блоке кликаем по ссылке “RSForm Pro”.

компонент форм для joomla 3

Затем, используя кнопку “Get it Now from 19E”, Вы сможете приобрести данное расширение. После скачивания архива, выполняем установку, стандартным образом, используя менеджер расширений. Далее переходим в панель управления компонентом RSForm.

компонент форм для joomla 3

Как было сказано выше, компонент RSForm обладает огромнейшим функционалом, поэтому в данной статье, на примере создания не сложной формы мы рассмотрим его базовые возможности. Итак, раздел “Управление формами” предназначен для создания новых форм и редактирования уже существующих.

компонент форм для joomla 3

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

компонент форм для joomla 3

А значит, для создания новой формы, переходим в данный раздел и кликаем по кнопке “Создать”.

компонент форм для joomla 3

При этом воспользуемся специальным мастером и следуем его инструкциям.

компонент форм для joomla 3

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

компонент форм для joomla 3

Далее кликаем по кнопке “Закончить”, тем самым сохраняя новую форму.

компонент форм для joomla 3

Таким образом, мы с Вами создали форму, но она абсолютно пуста, а значит необходимо добавить необходимые поля. Доступные для создания, элементы формы располагаются слева в разделе “Компоненты”. Для добавления нового поля, нужно выбрать его в боковой панели и указать необходимые данные для его работы. Соответственно давайте добавим текстовое поле в новую форму. Для этого кликаем по ссылке “Текстовое поле”.

компонент форм для joomla 3

Далее на вкладке “Основное” прописываем системное имя в поле “Название”, заголовок в поле “Подпись”, значение по умолчанию в соответствующем поле и краткое описание. На вкладке “Проверка” определяем правила валидации данных, добавляемых в создаваемое поле.

компонент форм для joomla 3

А именно, указываем обязательно ли данное поле к заполнению и выбираем правила валидации в выпадающем списке “Правило проверки”. На вкладке “Атрибуты” можно определить дополнительные атрибуты для создаваемого поля, такие как его размер, максимальное количество символов и т.д. Закончив с настройкой будущего поля, кликаем по кнопке “Сохранить и закрыть” для его сохранения.

компонент форм для joomla 3

Аналогичным образом добавляем все необходимые поля в будущую форму и не забываем о кнопке отправки формы. После окончания всех правок кликаем по кнопке “Сохранить и закрыть”, для сохранения формы. Таким образом форма создана и для ее отображения создадим отдельный пункт меню в менеджере меню. Обратите внимание, что компонент RSForm, предоставляет три вида, доступных для выбора типа пункта меню.

компонент форм для joomla 3

Для отображения интересующей формы на отдельной странице пользовательской части сайта, выбираем вид “Форма”. После этого необходимо выбрать форму, которая будет отображаться на странице сайта. Создав новый пункт меню, давайте перейдем в пользовательскую часть сайта и проверим, как отображается созданная форма.

компонент форм для joomla 3

При отправке данных формы, вся информация сохраняется в базе данных и доступна в панели управления компонентом RSForm в разделе “Управление предоставленными данными”.

компонент форм для joomla 3

На этом краткий экскурс в расширение RSForm завершен. Как Вы видите функционал расширения просто огромен и для более детального его изучение потребуется значительно больше времени нежели один урок. Поэтому если Вас заинтересовал данный компонент, изучайте его самостоятельно и тестируйте его возможности на практике.

Всего Вам доброго и удачного кодирования.

компонент форм для joomla 3

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

компонент форм для joomla 3

Хотите узнать, что необходимо для создания сайта?

Посмотрите видео и узнайте пошаговый план по созданию сайта с нуля!

Источник

Инструкция RSForm Pro (часть 2). Конструктор форм Joomla 3

RSForm Pro – гибко настраиваемый конструктор форм Joomla 3 с возможной интеграцией с разными расширениями и самой CMS. В предыдущей статье «Инструкция RSForm Pro (часть 1). E-mail сообщения; передача параметров через URL» мы рассмотрели некоторые часто задаваемые вопросы с сайта разработчика компонента. В этой части продолжим начатое.

В данной статье Вы сможете ознакомиться с полным перечнем ответов на вопросы касательно работы с компонентом форм Joomla RSForm Pro.

В данной инструкции рассмотрена последняя, на момент её написания (23.07.2017), русскоязычная версия RSForm Pro 1.52.14 (плагин контента «RSForm! Pro Content Plugin» 1.51.1, модуль отображения отправленных данных «RSForm! Pro Module List» 1.51.2), Joomla 3.7.3. Шаблон фронтальной части сайта – RSBaraka 1.0.3, шаблон административной части сайта – Isis 1.0.0.

Внизу данной статьи, над комментариями, Вы найдёте архив с примерами из этой инструкции, которые можно импортировать на свой сайт при помощи раздела Архивация / Восстановление в компоненте RSForm Pro. Нужно извлечь скаченный Вами ZIP-архив и загружать себе в RSForm архив в формате «.tar».

Данные из формы не приходят по e-mail

В предыдущей части инструкции RSForm Pro были рассмотрены некоторые причины проблем с отправкой писем и варианты их устранения. Но они подходят для случаев, когда письма не приходят вовсе. Если Вам приходят письма с уведомлением об отправке данных с формы, но не приходят сами данные (или приходит надпись: «У Вас есть новые данные.»), тогда перейдите в свойства формы, зайдите в раздел E-mail администраторов (это актуально и для E-mail пользователей и для Дополнительные E-mail) и в области Содержание нажмите на кнопку Редактировать текст письма (рисунок ниже). Перед Вами откроется редактор писем. Не забывайте, что редактирование происходит для каждого языка отдельно. Переключатель языка находится в левом верхнем углу страницы конструктора форм Joomla 3.

В этом редакторе, кроме текста, картинок, таблиц, можно использовать, так называемые, «заполнители». Заполнитель – это специальная «метка», заключённая в фигурные скобки. Эти метки преобразуются в нормальные, понятные значения. Список заполнителей можно получить, нажав на кнопку Включить быстрое добавление в разделе E-mail администраторов (и других аналогичных разделах) (рисунок выше).

Например, так выглядит письмо в редакторе писем (рисунок ниже).

компонент форм для joomla 3Инструкция RSForm Pro

Так выглядит заполненная форма во фронтальной части сайта, перед её отправкой (рисунок ниже).

компонент форм для joomla 3Конструктор форм Joomla 3

А так выглядит письмо, в почтовом клиенте Mozilla Thunderbird, которое пришло администратору на почту после отправки данных с формы (рисунок ниже).

компонент форм для joomla 3Письмо с данными с формы

Как видите, все заполнители преобразовались в данные и применилось форматирование, назначенное в редакторе писем.

Разберём синтаксис заполнителей на примере поля Выпадающий список с перечнем товаров (рисунок ниже).

Как задать страницу перенаправления, основываясь на выборе пользователя

В настройках форм RSForm Pro данный конструктор позволяет Вам указать URL- адрес, на который будет перенаправлен пользователь после отправки формы. Так Вы можете, например, указать адрес страницы с благодарностью. Это можно сделать в свойствах формы в разделе Информация о форме – URL перенаправления (в области Представления). Но в этом случае на эту страницу будут перенаправлены все, кто отправил данные из формы. Рассмотрим варианты создания перенаправления в зависимости от выбора пользователем того или иного значения одного из полей на форме (по аналогии с отправкой писем на адрес, в зависимости от выбора значения).

Вариант №1. Есть поле тип Группа радио кнопок (название – «dopolnitelnyj_kurs»). В нём заданы такие элементы (рисунок ниже):

компонент форм для joomla 3Создание форм Joomla 3

URL-адрес слева от символа вертикальной линии «|» и есть тот адрес, на который будет перенаправлен пользователь, выбрав тот или иной элемент поля. На сайте это поле выглядит так, как показано на рисунке ниже.

компонент форм для joomla 3Группа радио кнопок

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

компонент форм для joomla 3URL перенаправления

Данный пример подойдёт не только для поля тип Группа радио кнопок, но и для Выпадающий список и Группа чекбоксов.

Обратите внимание, когда для Вашей формы активированы опции Показывать сообщение благодарности и Отображать кнопку ДалееСвойства – Информация о форме), то переход на заданную страницу будет осуществляться в том случае, если пользователь нажмёт на кнопку Далее под сообщением с благодарностью.

Вариант №2. Есть поле тип Группа радио кнопок (название – «dopolnitelnyj_kurs»). В нём заданы такие элементы:

Убедитесь, что в свойствах формы в разделе Информация о форме в поле URL перенаправления ничего нет.

Перейдите в свойства формы в раздел PHP скрипты и в область Скрипт, вызываемый после обработки формы, вставьте следующий код (рисунок ниже):

Если в качестве поля Вы используете тип Выпадающий список, то код будет выглядеть так (добавлен «[0]» после названия поля (без кавычек)):

Обратите внимание, что даже если для Вашей формы активированы опции Показывать сообщение благодарности и Отображать кнопку ДалееСвойства – Информация о форме), то переход на заданную страницу будет осуществляться сразу после отправки, и сообщение с благодарностью и кнопка Далее не появятся.

О том, как вставить загруженное пользователем изображение на страницу благодарности можно прочесть в статье «Инструкция RSForm Pro (часть 3). Формы Joomla 3».

В моём поле e-mail содержится скрипт

компонент форм для joomla 3Плагин контента RSForm! Pro

Вариант №3. Заполнитель плагина контента RSForm Pro выглядит так:

где, «1» – ID формы. Как узнать ID формы было рассмотрено в предыдущей статье.

Чтобы избежать ошибки с заменой e-mail, нужно добавить специальный тег «» (без кавычек) перед заполнителем вставки формы в текстовом редакторе (рисунок ниже).

компонент форм для joomla 3Вставка формы на страницу

Как убрать заголовок формы

Есть несколько вариантов убрать заголовок формы (рисунок ниже).

компонент форм для joomla 3Заголовок формы

Вариант №1. В свойствах формы в разделе Информация о форме выбрать Нет для опции Отображать заголовок формы. Это наиболее простой и удобный вариант.

Вариант №2. В свойствах формы в разделе Информация о форме удалить содержимое поля Заголовок формы. Обратите внимание, это нужно будет сделать для всех языков, которые Вы используете во фронтальной части сайта. Переключатель языка формы RSForm Pro находится в левой верхней части страницы редактирования формы.

Вариант №3. В свойствах формы в разделе Макет формы выбрать Нет для опции Генерировать макет автоматически? и удалить следующую строку из области HTML макет (рисунок ниже):

компонент форм для joomla 3Как убрать заголовок формы

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

Как добавить кнопку печати на страницу просмотра отправленных данных

Конструктор форм Joomla 3 позволяет Вам создавать специальные страницы во фронтальной части, где пользователи смогут просмотреть отправленные ими, или другими пользователями, данные. Это можно сделать, создав пункт меню тип RSForm! Pro – Показать отправленные данные. На рисунке ниже показан пример такой страницы (я добавил только три столбца в макет таблицы с данными).

компонент форм для joomla 3Показать отправленные данные

Описанный ниже способ также подойдёт для модуля «RSForm! Pro Module List».

Перейдите в настройки пункта меню тип Показать отправленные данные (в менеджере меню Joomla), зайдите на вкладку Параметры в поле Макет строки и\или Подробный макет, добавьте код (если Вы используете на своём сайте ЧПУ (SEF) ссылки):

А если Вы не используете на своём сайте ЧПУ (SEF) ссылки, то код будет выглядеть так:

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

компонент форм для joomla 3Окно печати отправленных данных

О том, как вставить на страницу отправленных данных ссылку на профиль пользователя Community Builder Вы можете прочесть в статье «Инструкция RSForm Pro (часть 3). Формы Joomla 3».

Код отслеживания Google (AdWords)

Рассмотрим процесс добавления кода отслеживания рекламной сети Google AdWords. Это может понадобиться для отслеживания конверсий, приходящих на Ваш сайт посетителей с рекламы и заполнивших форму. То есть, под конверсионным действием будет подразумеваться успешная отправка данных с формы. Отмечу, что по аналогии отслеживание конверсии можно настроить не только для Google AdWords, но и для Яндекс.Директ.

Предполагается, что у Вас уже есть код отслеживания Google AdWords для вставки его на сайт.

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

Теперь Вы можете нажать на кнопку Редактировать сообщение благодарности в свойствах Вашей формы под опцией Показывать сообщение благодарности. В открывшемся окне введите текст благодарственного сообщения и после него вставьте Ваш код Google между тегами скрипта:

Вместо надписи: «Ваш код Google» нужно вставить сам код.

компонент форм для joomla 3Вставка кода отслеживания Google

Пустая страница при редактировании формы

Если при попытке отредактировать форму RSForm Pro из админки у Вас появляется пустая страница, то причина может быть в плагинах «Phoca PDF Content Plugin» и\или «Phoca PDF – Webcatalog».

Вариант 1. В самой Joomla перейдите в Расширения – Плагины и отключите эти плагины.

Вариант 2. Если у Вас есть плагин «Phoca PDF Content Plugin», то откройте файл «/plugins/system/phocapdfcontent.php» и найдите там строки:

Сделайте их не закомментированными (удалите «/*» и «*/»), чтобы получилось так:

Если у Вас есть плагин «Phoca PDF – Webcatalog», то откройте файл «/plugins/system/phocapdfwebcatalog.php» и сделайте то же самое, что и для плагина «Phoca PDF Content Plugin».

Выбор дат «с» и «по» в зависимых календарях

Рассмотрим ситуацию, когда пользователю в форме дано два поля тип Календарь в одном из которых он выбирает начальную дату временного промежутка (в примере поле с названием «data_dostavki_c»), а в другом он выбирает конечную дату временного промежутка (в примере поле с названием «data_dostavki_po»). При этом, указав дату «с» он не должен иметь возможность выбора даты «по», во втором календаре, ранее, чем указанная дата «с».

Для этого в первом поле календаря («data_dostavki_c») на вкладке Проверка для опции Модификатор даты выберите значение Выбранная дата ‘data_dostavki_po’ будет минимальной датой (рисунок ниже). А для второго поля календаря («data_dostavki_po») на вкладке Проверка для опции Модификатор даты выберите значение Выбранная дата ‘data_dostavki_po’ будет максимальной датой.

компонент форм для joomla 3Модификатор даты

Во фронтальной части сайта (рисунок ниже) видно, что в календаре «Дата доставки (с)» выбрана дата 24.07.2017, а на втором календаре «Дата доставки (по)» нельзя выбрать даты ранее 25.07.2017.

компонент форм для joomla 3Календари

О том, как ограничить выбор даты в календаре Вы можете прочесть в статье «Инструкция RSForm Pro (часть 3). Формы Joomla 3». А о запрете выбора дня недели можно узнать тут.

Модификация сообщения о незаполненном поле RSForm

По умолчанию, если пользователь не заполнит какое-то обязательное для заполнения поле, то ему будет показано сообщение на английском языке: «Please complete all required fields!» (рисунок ниже).

компонент форм для joomla 3Текст сообщения об ошибке заполнения формы

Это происходит тогда, когда для какого-то поля в его настройках на вкладке Проверка для опции Обязательное выбрано Да, а пользователь это поле не заполнил.

Для изменения этой надписи перейдите в свойства формы в раздел Информация о форме и нажмите на кнопку Изменить сообщение об ошибке в области Проверка. В появившемся редакторе Вы сможете изменить эту надпись. Помните, что она редактируется для каждого языка формы отдельно. Переключатель языков находиться в левом верхнем углу страницы конструктора форм Joomla 3.

Динамическое изменение выпадающего списка

Рассмотрим ситуацию, когда при выборе одного из элементов первого выпадающего списка меняется набор элементов второго выпадающего списка. Например, при выборе элемента «Audi», в выпадающем списке «Марка машины», в другом выпадающем списке, «Модель машины», отображаются элементы «A3, A4, A5, A6». А при смене значения, в выпадающем списке «Марка машины» (название поля «model_mashiny»), на «Dacia», в другом выпадающем списке «Модель машины» отображаются элементы «Sandero, Logan».

В первом поле, «Марка машины», введите следующие элементы (рисунок ниже):

Обратите внимание, что первый элемент «|Выберите марку машины» начинается с вертикальной линии.

компонент форм для joomla 3Первый выпадающий список

На вкладке Атрибуты вставьте следующий код в поле Дополнительные атрибуты:

Где «model_mashiny» – название второго выпадающего списка.

Сохраните поле и перейдите на вкладку формы Свойства в раздел CSS и JavaScript и вставьте в поле Javascript следующий код:

Второй спадающий список «Модель машины» не заполняйте (само поле Элементы). Оно будет заполняться автоматически при смене значения в первом поле (рисунок ниже).

компонент форм для joomla 3Форма на сайте

В принципе, конструктор форм Joomla 3 позволяет Вам сделать это и при помощи Поля условий. Вышеописанный вариант – альтернатива.

Удаление незаполненных полей из писем

Рассмотрим пример удаления незаполненных пользователями полей формы из писем и сообщения о благодарности (на примере последнего). Это актуально тогда, когда в форме есть необязательные для заполнения поля, и заполнители этих полей Вы добавляете в письма E-mail пользователей, E-mail администраторов, Дополнительные E-mail и\или в сообщение благодарности. Чтобы в письмах и сообщении о благодарности не было «пустоты», подойдёт нижеописанный способ.

Есть форма с несколькими полями (рисунок ниже).

компонент форм для joomla 3Форма

Сперва рассмотрим вариант без скрытия незаполненных полей.

В админке текст сообщения о благодарности (Свойства – Информация о форме – Редактировать сообщение благодарности) выглядит так, как показано на рисунке ниже.

компонент форм для joomla 3Сообщение благодарности в админке

Допустим, пользователь не заполнил поля Ваше имя (название поля «vashe_ima») и Набор опций (название поля «opcii») (рисунок ниже).

компонент форм для joomla 3Заполненная форма

В результате он увидит такое сообщение благодарности (рисунок ниже).

компонент форм для joomla 3Сообщение благодарности

Как видите, в нём присутствуют «обрывки фраз» с незаполненными значениями полей.

А теперь рассмотрим вариант со скрытием незаполненных полей.

В админке текст сообщения о благодарности (Свойства – Информация о форме – Редактировать сообщение благодарности) выглядит так, как показано на рисунке ниже.

компонент форм для joomla 3Сообщение благодарности в админке (2)

Допустим, пользователь не заполнил поля Ваше имя (название поля «vashe_ima») и Набор опций (название поля «opcii») (рисунок ниже).

компонент форм для joomla 3Заполненная форма

В результате он увидит такое сообщение благодарности (рисунок ниже).

компонент форм для joomla 3Сообщение благодарности (2)

Как видите, в нём отсутствуют «обрывки фраз» с незаполненными значениями полей. А всё благодаря следующей конструкции (учтите, что после «if» и перед заполнителем есть пробел):

Где «vashe_ima» и «opcii» названия полей. Содержимое, помещённое между тегами условия «if» не отображается, если соответствующее поле, указанное в теге «if», не заполнено.

Для «if» можно использовать следующие операторы:

Например, если Вы хотите отобразить какой-то текст только в том случае, если пользователь выбрал конкретный чекбокс из конкретной группы чекбоксов, то текст для благодарственного сообщения будет таким:

Текст «Отображаемый текст» будет показан только тогда, когда для поля с названием «nazvanie_polya1» будет выбран чекбокс «Элемент1».

Текст «Любой текст» будет показан только тогда, когда для поля с названием «nazvanie_polya2» будет выбран или чекбокс «Элемент1», или «Элемент2».

Нижеуказанный синтаксис направлен на отображение\скрытие текста («Совершенно любой текст») в случаях, когда в поле формы («nazvanie_polya3») пользователь вводит определённое значение, например, «RSForm настройка».

Видео-инструкция по RSForm Pro

В данном видео показаны некоторые из моментов, описанные в статье выше.

Видео лучше просматривать с качеством 720 HD. Этот и другие видео уроки Вы можете найти на каналах сайта Aleksius.com в YouTube и Mail.ru.

В следующей статье «Инструкция RSForm Pro (часть 3). Формы Joomla 3» поговорим о скрытых полях, префиксе загружаемых файлов, проверке специальных символах и других часто-задаваемых вопросах.

Автор статьи – Хорошевский Алексей

компонент форм для joomla 3 Примерно с 2008 года и по сегодняшний день создаю сайты «под ключ» на Joomla и WebSite X5. Также занимаюсь их доработкой, SEO-продвижением, контекстной рекламой, защитой от взлома и оптимизацией скорости загрузки сайта.

Кандидат технических наук по специальности «Информационные технологии».

На этом сайте есть контакты и информация обо мне. На нём Вы найдёте примеры моих работ, а также перечень и цены предоставляемых услуг.

Источник

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

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