В данной инструкции описан порядок настройки отображения на сайте форм Chronoforms для пятой и шестой версий компонента.

Разработчиками предусмотрено три основных способа вывода форм обратной связи на сайте:

  1. С помощью меню путем выбора типа пункта меню «Chronoforms» (для каждой версии свое точное название типа).
  2. Путем вывода модуля, для чего необходима установка модуля, поставляемого отдельно от компонента. Для CF5 это архив с установщиком «Chronoforms_V5_Module_RC1.1.zip», для CF6 — «mod_chronoforms6.zip».
  3. В теле страницы сайта с помощью плагина. Для CF5 это архив с установщиком «Chronoforms_V5.0_Plugin_RC1.zip», а в CF6 плагин зашит в установщик компонента.

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

  {chronoforms6}my_form_alias{/chronoforms6} // для CF6, без пробелов
  {chronoforms5}my_form_name{/chronoforms5}  // для CF5, без пробелов

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

Почему не отображается форма Chronoforms?

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

  1. Посетитель сайта относится к группе пользователей, для которой доступ к форме ограничен. В данном случае нужно проверить, для каких групп пользователей разрешен доступ к странице, сайта, где выводится форма. То же следует проверить и для модуля. Кроме того, в версии CF6 предусмотрена собственная настройка прав доступа на уровне формы или ее отдельных секций.
  2. Некорректно размещен код вставки формы (для вывода на странице с помощью плагина). Здесь нужно проверить, правильно ли указан идентификатор формы и нет ли лишних пробелов или других символов в коде вставки.
  3. Форма должна быть опубликована. Публикацию форм можно проверить в панели управления компонентом, просматривая список всех имеющихся форм. Восстановленные и скопированные формы обычно имеют дефолтный статус «Не обубликовано». В CF6 так же имеется переключатель уровня доступа к форме «Public». Если эта опция имеет статус «отключено», то форма так же выводиться не будет.
  4. Отсутствуют события и/или обработчики, которые обеспечивают ренденеринг формы (в  CF6 есть возможность удалять любые события и нужный обработчик мог быть случайно удален).
  5. Некорректно настроены обработчики, отвечающие за ренденеринг формы и/или находятся вне области события «load».
  6. На странице сайта присутствуют и/или работают расширения, несовместимые с компонентом.

Функции ренденеринга форм обратной связи Chronoforms

За отображение формы на странице сайта отвечают функции ренденеринга, чьи визуальные представления расположены на вкладках редактора, отвечающих за настройку функционала на стороне сервера или настройку клиентской части:

  • вкладка «Установка» (Setup) —  для CF5 и ранних билдов CF6;
  • вкладки  «Функции» (Actions) — для самых новых версий CF6. 

За вывод форм Chronoforms 5 на сайте отвечает функция  «HTML (Render Form)». На формах CF6, созданных в более ранних версиях компонента за ренденеринг отвечает функция «Display Section» (или «Display Form», соответственно).

Эти функции обязательно размещаются в области события «load» и должны быть правильно настроены. 

Настройка обработчика ренденеринга форм в Chronoforms 5

Рис. 1

В CF5 нужно корректно заполнить поле «Страница» (Page), которое должно содержать порядковый номер страницы формы. Если форма одностраничная - это всегда единица, а при настройке мультистраничных приложений — соответствующий каждой странице номер. Для последних на каждую отображаемую страницу должен приходиться свой обработчик «HTML (Render Form)», а при использовании сессий к нему также добавляется функция «Multi Page», отвечающая за передачу данных между страницами.

То же и для форм CF6 более ранних редакций.

Здесь за отрисовку секции отвечает обработчик «Display Section» (на более поздних версиях — «Display Form»), где обязательными параметрами являются:

  1. Значение многострочного поля «Имена секций формы» (Sections names) с указанным в нем списком имен секций, которые требуется показать на сайте.
  2. Значение поля «Событие отправки» (Submit event) должно содержать название события, которому будут передаваться данные с текущей страницы формы. Если форма одностраничная, то в этом поле  всегда должно стоять значение «submit». Для настройки многостраничного отображения здесь должно быть имя следующей страницы (секции), которую следует показать на сайте после обработки текущей. 

Для передачи данных между страницами многостраничных форм с поддержкой сессий также используется функция «Multi Page», по одной на каждую страницу.

Настройка обработчика ренденеринга форм в Chronoforms 6

Рис. 2

В текущих версиях Chronoforms6 обе описанные выше функции работают в режиме совместимости.

На вновь созданных формах обратной связи все элементы, содержащиеся на странице «load» (а она в режиме редактора «New CFv6.1 mode» является страницей), отображаются на форме автоматически и никакого дополнительного функционала для их ренденеринга добавлять и настраивать не нужно.

В связи с этим на формах, созданных в старших версиях CF6, актуализировать или перенастраивать функционал совсем необязательно. Но если функция «Display Form» (или «Display Section») все же была удалена при редактировании формы в самой новой версии компонента, вернуть ее в область события не удастся. В данном случае, если удаленный обработчик находился на странице «load», то все ее содержимое будет отображаться автоматически. Если же  — на любой другой, то на вкладку «Функции» (Actions) страницы «load» следует добавить обработчик «Display Layout» и настроить его.

Порядок настройки «Display Layout» включает в себя установку значения для двух полей:

  1. «Показать» (Display), где нужно выбрать тип представления — вся страница (событие) или отделный элемент страницы (события).
  2. «Имена секций или представлений» (Sections/views names)  — многострочное поле для указания списка имен.

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

Настройка функции Display Layout в Chronoforms 6

Рис. 3