Обзоры расширений Joomla

 

 

В предыдущей статье «RSForm. Формы для Joomla» мы рассмотрели основные возможности RSForm Pro, а также затронули вопрос непосредственного создания форм при помощи мастера. В этой статье поговорим о полях форм и их свойствах. Материал представлен как некая инструкция RSForm Pro.

Отмечу, что все описанные здесь, и в других частях цикла, приёмы относятся к Joomla 2.5 – 3. При написании статьи использованы материалы с официального сайта разработчика компонента.

Создание форм Joomla

Компоненты

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

Текстовое поле

Рассмотрим элемент Текстовое поле. При помощи него пользователь сможет вводить данные в строку ввода. Свойства текстового поля разделены на три вкладки:

  1. Основное.
  2. Проверка.
  3. Атрибуты.

Рассмотрим каждую из них более детально. На вкладке Основное (рисунок ниже) расположены следующие поля:

Компонент RSForm Pro

  1. Название. Название элемента в базе данных. Это не будет видно пользователям во фронтальной части сайта. Используйте для этого поля только английские буквы, цифры и пробелы. Обязательное поле.
  2. Подпись. Название элемента, которое увидят посетители сайта во фронтальной части сайта. Не обязательное поле.
  3. Значение по умолчанию. Значение, которое будет задано в поле по умолчанию. Это значение увидят посетители. Не обязательное поле. Обратите внимание, даже если Вы добавили в поле значение по умолчанию, а пользователь не изменил его на своё, эти данные (значение по умолчанию) не будут отправлены Вам в качестве данных пользователя. Плюс, если поле обязательное, то Пользователю всё равно необходимо изменить значение этого поля на своё, чтобы оно считалось отправленным.
  4. Описание. Подсказка к элементу. Её увидят посетители. Не обязательное поле.

На рисунке ниже показано, где именно во фронтальной части будет отображаться тот или иной текст из свойств объекта.

Обозначение элементов

Под номером 5 расположен элемент «(*)» (без кавычек), который свидетельствует о том, что пользователь обязательно должен заполнить данное поле. Без этого информация не будет отправлена.

RSForm Pro может проверять данные, которые вводит пользователь в формы для Joomla 2.5 – 3. На вкладке Проверка (рисунок ниже) Вы можете настроить соответствующие параметры.

Инструкция RSForm

  • Обязательное. Если Вы выбрали Да, данное поле будет отмечено как обязательное для заполнения пользователем. Не заполнив его, пользователь не сможет отправить данные формы. Во фронтальной части сайта обязательные поля отмечены как «(*)» (без кавычек).
  • Правило проверки. Вы можете задать проверку типа введённых данных. Всего девятнадцать правил.
  • Сообщение проверки. Текст (или HTML код), который увидит пользователь, если введёт неверные данные в поле.

Рассмотрим более детально правила проверки, которые помогут Вам при настройке формы Joomla 3.

  • Без проверки. Проверка поля не осуществляется. Можно вводить любые данные.
  • Буквы. RSForm будет проверять, чтобы в поле содержались только буквы. Доступен ввод исключений в поле Дополнительно принимаемые символы.
  • Цифры. RSForm Pro будет проверять, чтобы в поле содержались только цифры. Доступен ввод исключений в поле Дополнительно принимаемые символы.
  • Буквы и цифры. Будет проверяться, чтобы в поле содержались только буквы и\или цифры. Доступен ввод исключений в поле Дополнительно принимаемые символы.
  • Буквы (+акцентированные символы). Компонент RSForm Pro будет проверять, чтобы в поле содержались только буквы и\или акцентированные символы.
  • Буквы и цифры (+акцентированные символы). RSForm Joomla будет проверять, чтобы в поле содержались только буквы, цифры и\или акцентированные символы.
  • E-mail адреса. Правило, которое позволяет проверить, чтобы в поле вводились только адреса электронной почты. Например, rsform@aleksius.com.
  • E-mail адреса и Проверка DNS. Это правило аналогично правилу E-mail адреса, но дополнительно проходит проверка наличия почтового домена. Например, если пользователь ввёл адрес rsform@aleksius.com, то RSForm Pro будет проверять существование домена aleksius.com. Это может снизить количество ошибок на начальном этапе заполнения формы.
  • Уникальное поле. Будет производиться проверка данных на их уникальность. Например, если уже ранее любой пользователь вводил точно такие данные в это поле (для конкретной формы и конкретного типа поля), то проверка не будет пройдена. Может быть полезно в случае создания форм регистрации, если Вы не хотите, чтобы совпадали логины разных пользователей.
  • Уникальное поле на пользователя. Правило аналогично правилу Уникальное поле, но проверка данных идёт только по тем данным, которые вводил этот конкретный пользователь (необходимо, чтобы он вошёл на сайт как зарегистрированный). Может быть полезно в случае смены пароля пользователя, если Вы не хотите, чтобы он вводил старый пароль.
  • Почтовый индекс. Проверка ввода почтового индекса. Будут приниматься только данные следующего формата: «12345», «12345-1234» (без кавычек). Во втором случае пользователю обязательно необходимо самостоятельно ввести знак тире.
  • Номер телефона (123-456-7890). Проверка ввода номера телефона в формате «123-456-7890» (без кавычек). Пользователю обязательно необходимо самостоятельно ввести знаки тире.
  • Кредитная карта (AMEX/Diners/Dicover/Master/Visa). Проверка правильности введённых номеров кредитных карт AMEX, Diners, Dicover, Master, Visa.
  • Пользовательская проверка (Символы). В данном случае будет доступно поле Дополнительно принимаемые символы. Проверка будет проходить на соответствие введённых пользователем данных и данных поля Дополнительно принимаемые символы. Например, если вы ввели в поле Дополнительно принимаемые символы «12-3» (без кавычек), то пользователь может ввести любой из этих символов или их сочетание. Не обязательно именно «12-3».
  • Ключевая фраза (задаётся в Значение по умолчанию). RSForm будет проверять, чтобы данные, вводимые пользователем (с учётом регистра) совпадали с данными, которые Вы задали на вкладке Основное в поле Значение по умолчанию. При этом в самом поле изначально не будет отображаться значение по умолчанию.
  • IP адреса. Проверка ввода IP адреса. Например, «192.168.1.1» (без кавычек).
  • Действительный URL (требуется http(s)://). Проверка ввода URL адреса. Например, «http://aleksius.com», «http://aleksius.com/joomla/rasshireniya/» (без кавычек). Обязательно необходимо указывать протокол (http:// или https://).
  • Регулярное выражение. Вы можете самостоятельно задавать любые правила проверки, используя стандартные регулярные выражения PHP. Например: «#([0-9])#» (без кавычек) – включает проверку ввода только цифр, «#([a-z])#i» (без кавычек) – включает проверку ввода только букв английского алфавита. Подробнее можно прочесть в документации по PHP: «Модификаторы шаблонов», «Разделители», «preg_match». Также ознакомьтесь с особенностями RSForm Pro.
  • То же значение, что и другое поле. Вы можете назначить проверку вводимых данных на соответствие данным, введённым в другое поле. Для этого необходимо в поле Название поля для сравнения с ввести названия того поля, с которым необходимо сравнивать данные.

Для некоторых правил проверки будет доступно поле Дополнительно принимаемые символы. В него Вы сможете задать символы, которые разрешены для ввода. Это своего рада исключение из правил. Например, выбрав правило Буквы и задав в поле Дополнительно принимаемые символы пробел, можно будет включить проверку на поле «ФИО», и тогда пользователь сможет ввести в одну строку свою фамилию, имя и отчество через пробелы между словами, а RSForm - проверить, чтобы в этих данных были только буквы.

На вкладке Атрибуты (рисунок ниже) Вы сможете настроить дополнительные параметры поля для формы Joomla 3.

RSForm

  • Размер. Позволяет задать размер поля в символах.
  • Максимальный размер. Указывает максимальный размер символов, которые может ввести пользователь.
  • Дополнительные атрибуты. Всё, что будет введено в это поле попадёт непосредственно в HTML код формы. Например, JavaScript: «onkeyup="your_function();"» (без кавычек-ёлочек) – вызывает Ваш JavaScript при вводе в данное поле; CSS: «style="color:red"» (без кавычек-ёлочек) – вводимый текст будет красного цвета; свойства ввода «readOnly="readonly"» (без кавычек-ёлочек) – пользователь не сможет вводить данные в это поле.

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

Текстовая область

Позволяет разместить на форме область для ввода большого количества текста. На вкладке Атрибуты (рисунок ниже) Вы сможете найти параметры Столбцов и Рядов, которые помогут Вам указать размер текстовой области в строках и столбцах.

RSForm Pro

Опция Включить WYSIWYG редактор позволяет включить или отключить визуальный редактор, при помощи которого, пользователи смогут оформлять свои ответы.

Формы Joomla 3

Выпадающий список

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

RSForm Joomla

Каждый элемент списка нужно вводить с новой строки. Например, если ввести:

 

RSForm Joomla 1.5

RSForm Joomla 2.5

RSForm Joomla 3.0

RSForm Joomla 3.1

RSForm Joomla 3.2

 

тогда и в спадающем списке пользователь увидит вышеперечисленные элементы в том же порядке, сможет выбрать любой из них, и по умолчанию будет показан элемент «RSForm Joomla 1.5». Также после отправки данных Вы увидите именно то, что указал пользователь. Например, если он указал «RSForm Joomla 2.5», то и в отправленных данных Вы увидите именно «RSForm Joomla 2.5». Рассмотрим вариант списка, указанный на рисунке выше, то есть:

 

RSForm|Инструкция RSForm

Компонент RSForm Pro|Купить[d]

RSForm Pro|Формы Joomla 3[c]

RSForm Joomla[g]

RSForm Joomla 1.5

RSForm Joomla 2.5

RSForm Joomla 3.0

RSForm Joomla 3.1

RSForm Joomla 3.2

 

В случае «RSForm|Инструкция RSForm» пользователь, во фронтальной части сайта увидит надпись «Инструкция RSForm», а не «RSForm», но если он выберет «Инструкция RSForm», то в отправленных данных Вы увидите значение «RSForm». Именно оно будет сохранено в базе данных.

В случае «Компонент RSForm Pro|Купить[d]» пользователь не сможет выбрать «Купить», так как для строки задан параметр «[d]» (без кавычек). Он означает, что данная строка будет показана в списке, но её нельзя выбрать.

В случае «RSForm Pro|Формы Joomla 3[c]» строка «Формы Joomla» будет установлена в спадающем списке по умолчанию, так как для строки задан параметр «[c]» (без кавычек). Он означает, что данная строка будет установлена в спадающем списке по умолчанию.

Отмечу, что можно задавать параметры «[c][d]». Это означает, что строка будет установлена в спадающем списке по умолчанию и её нельзя будет выбрать.

В случае с «RSForm Joomla[g]» пользователь увидит надпись «RSForm Joomla» в качестве заголовка (жирный курсив) для списка из элементов (рисунок ниже):

 

RSForm Joomla 1.5

RSForm Joomla 2.5

RSForm Joomla 3.0

RSForm Joomla 3.1

RSForm Joomla 3.2

 

Группировка элементов

Таким образом можно группировать элементы.

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

На вкладке Атрибуты (рисунок ниже), при помощи опции Множество, Вы можете разрешить пользователям выбирать несколько значений из выпадающего списка формы Joomla 3. Это происходит путём зажатия на клавиатуре клавиши «CTRL» или «SHIFT» и нажатием мышью на тот или иной элемент списка.

Атрибуты выпадающего списка

Группа чексбоксов

RSForm Joomla позволяет Вам размещать на форме группу чекбоксов. Настройка элементов аналогична полю Выпадающий список, рассмотренного выше, за исключением того, что для чекбоксов не предусмотрен параметр «[g]» (группировка). На вкладке Атрибуты (рисунок ниже) Вы можете задать расположение чексбоксов (горизонтально или вертикально).

Атрибуты группы чекбоксов

Группа радиокнопок

Данное поле аналогично полю Группа чексбоксов, рассмотренного выше.

Кнопка отправки

Это обязательный элемент любой формы. Без этой кнопки пользователь не сможет завершить заполнение формы. Вернее, не сможет отправить данные.

На вкладке Атрибуты (рисунок ниже) Вам будут доступны следующие опции.

  • Сброс. Если включить данную опцию, то рядом с кнопкой «Отправить» будет доступна вторая кнопка, нажав на которую, пользователь сможет очистить все заполненные им поля формы Joomla 3.
  • Метка кнопки Сброс. Надпись, которая будет отображаться на кнопке очистки формы.
  • Метка для кнопки Назад. Если Вы используете многостраничную форму, в этом поле Вы можете задать надпись, которая будет отображаться на кнопке возврата на предыдущую страницу формы. Если оставить значение «PREV», то надпись будет взята из файла локализации.
  • Сообщение прогресса. Если Вы используете многостраничную форму, то, активировав опцию Отображать текст прогресса?, можно выводить сообщение, на какой из каких страниц формы находится пользователь. Просто переведите нужные слова.
  • Тип кнопки. Можно указать один из HTML тегов, <input> или <button>, который будет применяться к кнопке.

 

<div>

 <p><em>Страница <strong>{page}</strong> из {total}</em></p>

 <div class="rsformProgressContainer">

  <div class="rsformProgressBar" style="width: {percent}%;"></div>

 </div>

</div>

Атрибуты кнопки отправки

Пароль

Все свойства данного поля были описаны выше в статье.

Кстати говоря, аналогичные поля и настройки полей используются в компоненте создания универсальных каталогов товаров и услуг RSDirectory.

В следующей части статьи «RSForm Pro инструкция» мы продолжим рассмотрение свойств различных полей. Например, таких: Загрузка файла, Свободный текст, Календарь и так далее.

 

Полезные ссылки: