Rsform не работает ajax

Содержание
  1. RSForm — ajax отправка форм без перезагрузки страницы
  2. Обновлено 26.09.2016
  3. RSForm без перезагрузки на Ajax
  4. CharmLab Multimedia
  5. Блокнот ITшника.
  6. RSForm! Pro не работает при включенном кэше Joomla
  7. Инструкция RSForm Pro (часть 3). Формы Joomla 3
  8. Не работает отправка писем в Joomla 3.2.0
  9. Префикс загружаемого файла
  10. Ограничение выбора даты в календаре
  11. Правила проверки дополнительных символов
  12. Ссылка на профиль пользователя в Community Builder
  13. Не работает форма при включённом кэше
  14. Проблема с кодировкой в CSV файле
  15. Необходимо указать хотя бы одного получателя электронной почты
  16. Загруженное изображение в сообщении о благодарности
  17. Поля на формы не отображаются на сайте
  18. Добавление условий и терминов
  19. Добавление появляющегося изображения при отправке формы
  20. По нажатию на кнопку отправки ничего не происходит
  21. Изменение первого дня недели календаря
  22. Миграция форм RSForm Pro с Joomla 1.5 на Joomla 3
  23. Не работает AJAX проверка
  24. Видео-инструкция по RSForm Pro
  25. Автор статьи – Хорошевский Алексей

RSForm — ajax отправка форм без перезагрузки страницы

Здравствуйте дорогие друзья! В данной статье хочу показать, как можно отправлять данные из формы компонента RSForm для Joomla 3 без перезагрузки страницы, применив технологию ajax. Хочу сказать также, что данный метод позволяет отправлять прикрепленные файлы из формы. Для отправки формы я применил jQuery плагин под названием jQuery Form Plugin. Теперь давайте обо всем по порядку.

Для начала предлагаю посмотреть демо, т.е. как это все работает, чтобы не тратить время на то, что в итоге потом может вам не понравится.

Вообще эта статья рассчитана для тех, кто уже знаком с компонентом RSForm. Я здесь не буду показывать как создавать формы, поля и т.д. Напишу по этому поводу отдельную статью специально для новичков. Если кто не знает RSForm — это один из мощных компонентов конструкторов форм для cms Joomla 3. Но единственное, лично для меня, что не хватает в RSForm — это асинхронная отправка данных, т.е. без перезагрузки страницы. Поэтому я поискал решение этого вопроса и нашел небольшую библиотеку jQuery Form Plugin с помощью которой мы можем отправлять форму без перезагрузки страницы. Данную библиотеку рекомендовал использовал сам разработчик RSForm. Я наткнулся на сообщение на их официальном форуме, там люди как раз интересовались по поводу ajax. В довесок я написал небольшой плагин на jQuery, который выводит сообщение благодарности на 4 сек. после того, как форма была успешно отправлена (файл init.js). Почему плагин? Да потому, чтобы не приходилось дублировать один и тот же код в случае, если у нас на сайте несколько форм.

Конечно можно использовать и другие библиотеки (я их называю костыли) для отправки форм на ajax, но тут следует иметь ввиду, что не все ajax-скрипты могут отправлять прикрепленные файл из форм. А ведь это иногда может быть просто необходимо. А с jQuery Form Plugin с этим проблем нет. Единственно в чем я так и не разобрался это то, когда выводишь поле каптча reCaptcha 2.0 от Гугл сообщения с формы не приходят на e-mail. Но со спамом я решил бороться с помощью ключа Akismet. Я считаю, что против спама лучшее не придумаешь, чем Akismet.

Итак, качаем файлы по ссылке выше. В архиве лежат три файла: сама библиотека jQuery Form Plugin (formplugin.js), скрипт инициализации плагина (init.js) и стили стилизации сообщения благодарности (style.css). Подключаем скрипты в шаблоне нашего сайта. Можно добавить подключение перед закрывающим тегом body.

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

Подключение jQuery идет всегда выше скриптов, зависящих от нее. Далее идем в панель управления Joomla и открываем созданную форму в RSForm. Здесь нам надо добавить общую обертку с определенным классом всем полям формы. Мы будем скрывать форму и показывать сообщение при успешной отправке. Но прежде, чем вставлять код нам необходимо отключить автоматическую генерацию кода. Для этого над полем кода выставите переключатель «Генерировать макет автоматически» в положение «Нет«. Итак, открываем форму на редактирование в RSForm -> Свойства -> Макет формы. У меня интерфейс RSForm переведен на русский язык, если у вас нет перевода, то ориентируйтесь по скриншоту ниже. Вставляем открывающий тег DIV с классом hide-form-success после метки « «, а закрывающий тег DIV вставляем в самый конец кода.

Следующее что мы сделаем это изменим индефикатор формы, зададим свое название в зависимости от предназначения формы. По умолчанию форме задается Я, например, данную форму на демо-сайте назвал Переходим в атрибуты формы и меняем id.

И еще кое что, нам необходимо включить ajax проверку полей формы в настройках во вкладке «Информация о форме». По умолчанию ajax отключен. Это нужно для того, чтобы нам выводились сообщения об ошибках, если пользователь не заполнит поля или заполнит их не верно.

Теперь откроем файл init.js и инициализируем нашу форму с id=»demoForm» для отправки. Также здесь впишем текст сообщения, который будет показан после отправки формы.

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

Можно немного стилизовать вывод сообщения благодарности.

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

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

Обновлено 26.09.2016

В связи с выходом новой версии RSForm 1.52++ заметил, что не работает ajax отправка формы с включенной ajax валидацией. Если валидацию отключить, то форма отправляет пустые данные. Дело в том, что в последних версиях разработчики повесили событие проверки заполненности полей на кнопку отправки, что привело как раз к неработоспособности вышеизложенного метода. Пришлось добавить свою валидацию, а родную ajax валидацию RSForm отключить. Выкладываю полный код плагина сюда. Единственно, что нужно учесть это то, что обязательные поля необходимо обернуть блоком с классом — required-field.

На этом все. На связи был Заур Магомедов. Надеюсь материал из данной статьи вам пригодится. Возникнут вопросы обязательно задавайте их в комментариях.

Источник

RSForm без перезагрузки на Ajax

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

  1. Итак, для начала создадим и настроим настроим саму форму. Для этого создаём необходимые поля (думаю с этим вы справитесь самостоятельно) и идём в настройки самой RS-формы.

Нужные настройки указаны на скриншоте:

В принципе на скриншоте понятно, что надо «жать». Главное — нам нужно разрешить использовать AJAX-проверку.

2. Далее нам понадобится подключить небольшой jQuery скрипт в исходный код страницы.

Код скрипта следующий:

Конечно же надо не забыть подключить саму библиотеку jQuery к шаблону. В Joomla выше 3-й версии она уже подключена, так что с этим проблем быть не должно.

Читайте также:  Лансер 9 сломался регулятор температуры печки

3. Завершающий этап. Оборачиваем нашу форму в шаблоне в блок div с произвольным уникальным id:

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

Кратко поясню, как работает данный код.

  1. С помощью jQuery, скрипт обрабатывает событие submit (клик по кнопке «Отправить»)
  2. Далее скрипт получает URL, по которому происходит отправка данных формы
  3. В случае успеха, получаем соответствующее сообщение после отправки.

Кстати говоря, этот способ работает и во всплывающем окне (lightbox). Т.е. можно заставить работать форму RSForm во всплывающем окне без перезагрузки страницы.

Я часто использую фреймворк UIKIT. Для него такой код будет выглядеть следующим образом:

Источник

CharmLab Multimedia

Блокнот ITшника.

RSForm! Pro не работает при включенном кэше Joomla

Некоторое время назад столкнулся со странностями на одном сайтов, сделанных на Joomla. Странность заключалась в следующем: на одной из страниц в текст материала была вставлена форма компонента RSForm. Эта форма прекрасно отображалась, но при попытке ее отправить в браузере клиента просто снова открывалась эта же страница, никакого сообщения об удачной отправки данных не появлялось. Письма администратору и клиенту так же не отправлялись, и в БД не было вообще никаких упоминаний о том, что эта форма когда-либо была заполнена.
После небольшого гугления выяснилось, что во всем виновато кэширование. Вот что по этому поводу говорится на официальном сайте компонента RS Form:

Чтобы понять, почему так происходит, нужно разобрать, как работает кэш Joomla (для примера будем использовать случай, когда форма встроена в текст статьи):

  • Загружается статья;
  • Плагин RSForm запускается и заменяет плейсхолдер в тексте статьи на соответствующую форму;
  • Система кэширования Joomla «запоминает», как выглядит страница и сохраняет это представление в кэше.
  • При следующих обращениях к этой странице первые два этапа пропускаются, и страница сразу загружается из кэша. Это ускоряет работу сайта, но так же это значит, что страница не будет загружать плагин RSForm. Форма будет отображаться на странице, так как ее внешний вид сохранен в кэше, но ее функционал — нет.

Единственное решение, которое предлагается — отключить кэширование.

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

Источник

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

RSForm Pro – компонент для создания форм Joomla с богатым функционалом (более 20 типов полей) и множеством настроек. В предыдущей статье «Инструкция RSForm Pro (часть 2). Конструктор форм Joomla 3» мы рассмотрели некоторые часто задаваемые вопросы с сайта разработчика компонента. В этой части продолжим начатое.

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

В данной инструкции рассмотрена последняя, на момент её написания (25.07.2017), русскоязычная версия RSForm Pro 1.52.14, Joomla 3.7.3. Шаблон фронтальной части сайта – RSBaraka 1.0.3, шаблон административной части сайта – Isis 1.0.0.

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

Не работает отправка писем в Joomla 3.2.0

В предыдущей статье был рассмотрен ряд причин и способов решения проблем, связанных с почтой. Но если Вы обновили свою Joomla с более старой до версии 3.2.0 или более новой, а у Вас перестали отправляться письма, то перейдите в Система – Общие настройки – Сервер и проверьте, чтобы для опции Отправка почты было выбрано Да.

Префикс загружаемого файла

В компоненте форм Joomla есть поле тип Загрузка файла. Оно позволяет отправлять файлы через форму. В управлении отправленными данными Вы можете видеть, что к исходному имени файла добавляется специальный префикс (рисунок ниже). Это делается с целью избежать дублирования в именах файлов.

RSForm

Есть возможность управления этим префиксом. Для этого перейдите в настройки поля на вкладку Атрибуты (рисунок ниже). Если в поле Префикс файла ничего нет, то префикс формируется автоматически (случайно).

Можно ввести туда свой собственный текст (лучше использовать английские буквы, цифры, знак тире или нижнего подчёркивания). Лучше, чтобы в конце введённого Вами префикса было тире или знак нижнего подчёркивания, например, «primer-prefiksa-» (без кавычек).

Если нужно убрать префикс вообще, то введите в поле Префикс файла следующий код:

Форма Joomla 3

Можно настроить генерацию префикса на основании введённых пользователем данных в определённое поле. Для этого в поле Префикс файла следующий код:

Где «vashe_ima» – название поля формы тип Текстовое поле. На рисунке ниже это поле отмечено как «Ваше имя».

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

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

Имена отправленных файлов

Ограничение выбора даты в календаре

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

Для этого в настройках поля календаря на вкладке Атрибуты в поле Минимальная дата (мм/дд/гггг) введите следующий код:

А в поле Максимальная дата (мм/дд/гггг) – такой код (рисунок ниже).

Компонент форм Joomla

Где «+2 days» – число дней, начиная с текущего дня.

В результате во фронтальной части сайта пользователь сможет выбрать 25.07.2017 (так как это текущий день) и ещё 26 и 27 июля 2017 года (рисунок ниже).

Календарь

Правила проверки дополнительных символов

В полях тип Текстовое поле и Текстовая область можно включить проверку вводимых данных. Например, есть правила проверки Буквы, Цифры, Буквы и цифры (рисунок ниже), но при этом, по умолчанию, пользователь не сможет отправить данные, содержащие специальные символы.

Правила проверки

Рассмотрим пример с текстовым полем для телефона. Включив правило Цифры, Вы можете усложнить заполнение формы людям, которые вводят телефон в виде: «+38 (095) 123-24-56» (без кавычек). Когда цифры набирают с пробелами, круглыми скобками, дефисами, знаком плюс. Чтобы добавить эти символы в разращённые для ввода в поле, в настройках текстового поля на вкладе Проверка задайте их через запятую в поле Дополнительно принимаемые символы (рисунок выше) – «+,(,),-,» (без кавычек).

Ссылка на профиль пользователя в Community Builder

Если на своём сайте Вы используете компонент социальной сети Community Builder, то можно будет добавить ссылку на страницу отправленных данных формы (тип пункта меню RSForm! Pro – Показать отправленные данные) или в модуль «RSForm! Pro Module List». По нажатию на эту ссылку будет произведён переход в профиль Community Builder того пользователя, который отправил данные из формы. Обязательным условием является то, что при отправке данных формы пользователь уже должен был войти на сайт со своим логином и паролем.

Читайте также:  Какая минимальная пенсия если не работал никогда

Чтобы разместить ссылку, перейдите в менеджере меню в нужное Вам меню, найдите\создайте пункт меню тип Показать отправленные данные и в его настройках на вкладке Параметры добавьте следующую строку в поле Макет строки и\или в поле Подробный макет.

В результате, на странице появится ссылка (рисунок ниже), ведущая на профиль пользователя Community Builder, отправившего данные через форму RSForm.

Ссылка на профиль пользователя в Community Builder

Вместо текста «Перейти на страницу пользователя, отправившего данные» можно использовать другой текст и даже заполнители полей, например, « », где «» – заполнитель поля ввода имени пользователя на форме RSForm.

При написании статьи тестировал в Community Builder 2.1.2.

Не работает форма при включённом кэше

При вставке формы на страницу при помощи плагина «Content — RSForm! Pro» и включённом кэше Joomla, скорее всего, форма не будет работать. Она будет отображаться, но не будет функционировать. Для решения этой проблемы придётся полностью отключить кэширование на сайте. Для этого перейдите в Система – Общие настройки – Система и для опции Системный кэш выберите Кэширование отключено.

Также перейдите в Расширения – Плагины, найдите плагин «Система — Кэш» и убедитесь, что он выключен. После этого перейдите в Система – Очистить весь кэш и удалите весь кэш.

Если Вы хотите оставить кэширование и использовать формы RSForm, то создавайте отдельные страницы для форм при помощи пунктов меню тип RSForm! Pro – Форма. Или воспользуйтесь сторонними компонентами кэширования, которые помогут задавать исключения из кэширования для отдельных страниц, модулей, позиций шаблона и т.д.. Например, JotCache или Speed Cache. На одном из своих сайтов я именно так и поступил. Форма вставлена на страницу через модуль, а в настройках JotCache задано исключение позиции шаблона, где находится модуль формы RSForm.

Проблема с кодировкой в CSV файле

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

Для минимизации подобной проблемы рекомендую открывать файлы в LibreOffice Calc (рисунок ниже), выбрав в качестве кодировки Юникод (UTF-8).

Данные с формы

На рисунке выше показан пример настроек (Разделитель и Разделитель текста) импорта файла в случае, если Вы экспортировали данные из RSForm с настройками по умолчанию.

Если у Вас Excel, то откройте его и на вкладке Данные – Получение внешних данных выберите Из текста, укажите CSV файл и в появившемся окне в спадающем списке Формат файла выберите 65001: Юникод (UTF-8) (рисунок ниже). А на втором шаге нужно указать символ разделителя (по умолчанию – запятая).

Данные с формы

Обратите внимание, что в Excel могут быть проблемы с акцентированными символами.

Если в результате выполнения вышеописанных действий Вы всё равно сталкиваетесь с проблемами в кодировке, то откройте CSV файл в Notepad++, перейдите в меню Кодировка (рисунок ниже) и преобразуйте кодировку файла в UTF-8 без BOM. А затем повторите вышеописанные действия с импортом файла в Calc или Excel.

Смена кодировки

При написании статьи тестировал файл в LibreOffice 5.3.4.2, Microsoft Office Excel 2016 и Notepad++ 7.4.2.

Необходимо указать хотя бы одного получателя электронной почты

Если при отправке данных Вы столкнулись с ошибкой: «Необходимо указать хотя бы одного получателя электронной почты» (на англ.: «You must provide at least one recipient email address»), то перейдите в настройки формы на вкладку Свойства в раздел E-mail пользователей и\или E-mail администраторов и\или Дополнительные E-mail и проверьте правильность заполнения полей Адрес отправителя и Кому (рисунок ниже). В них должны быть указаны или e-mail адреса или соответствующие заполнители.

Необходимо указать хотя бы одного получателя электронной почты

Загруженное изображение в сообщении о благодарности

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

Создайте поле тип Загрузка файла, например, с названием «prikrepit-fajl». Перейдите в свойства формы и в разделе Информация о форме нажмите кнопку Редактировать сообщение благодарности. В него добавьте HTML код:

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

На рисунке ниже показан пример окна с редактированием сообщения благодарности.

Редактирование сообщения благодарности

На сайте заполненное поле с отправкой файла выглядит так, как показано на рисунке ниже.

Прикреплённый файл

А так (рисунок ниже), выглядит страница с благодарственным сообщением.

Страница с благодарственным сообщением

Поля на формы не отображаются на сайте

Возможна ситуация, когда Вы добавляете поля в административной части сайта, а они не отображаются во фронтальной. Это может быть вызвано отключённой опцией Генерировать макет автоматически? в свойствах формы в разделе Макет формы.

В таком случает в макет формы не попадают все нужные заполнители. Форма может не работать вовсе. Чтобы это исправить, нужно или вручную добавить заполнители всех полей, или включить опцию Генерировать макет автоматически?.

Учтите, что при активации данной опции Вы потеряете весь JavaScript, CSS и HTML-код, который Вы могли добавлять ранее. Сделайте резервную копию.

Если Вы решитесь на ручное добавление полей, то тут Вам понадобятся знания HTML. Немного о синтаксисе заполнителей. Допустим, у Вас есть поле с названием «vashe_ima».

  • «» – подпись поля.
  • «» – само поле, например, текстовая строка или выпадающий список.
  • «» – сообщение проверки. Если для поля задано правило проверки, и оно сработает, то будет показан текст. Если всё будет введено верно, то текст показываться не будет.
  • «» – описание поля.

Рекомендуется добавлять все заполнители для каждого поля, но основные (обязательные) – это «» и «».

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

Добавление условий и терминов

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

Сперва создайте поле тип Текстовая область. В моём примере его название «tekst_soglasheniya». Перейдите на вкладку Атрибуты этого поля и в поле Дополнительные атрибуты вставьте код:

Этот код сделает текст поля доступным только для чтения.

Создайте поле тип Группа чекбоксов. В моём примере его название «prinimayu». В этом поле будет только один элемент «Я принимаю условия» (без кавычек). Перейдите на вкладку Проверка и для опции Обязательное выберите Да. Перейдите на вкладку Атрибуты данного поля и в поле Дополнительные атрибуты вставьте код:

Этот код проверяет, чтобы пользователь докрутил текст поля до конца. Тут «tekst_soglasheniya» – название поля с текстом лицензионного соглашения.

Перейдите в свойства формы в раздел CSS и Javascript и в область Javascript вставьте следующий код:

Где «prinimayu» название моего поля с чекбоксом. После названия обязательно должен стоять «0» (без кавычек). Текст «Пожалуйста, прочтите текст условий до конца» можно изменить на свой.

Добавление появляющегося изображения при отправке формы

Рассмотрим ситуацию, когда нужно отобразить какой-то рисунок по нажатию на кнопку отправки данных. До этого он должен быть скрытым.

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

Где ID может быть не только «1». «/images/knopka.gif» – путь к картинке на Вашем сервере.

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

Где «1» – это ID того дива, который Вы вставили в HTML макет. Теперь по нажатию на кнопку отправки будет показываться изображение. Вышеописанный пример подойдёт и для поля тип Кнопка.

По нажатию на кнопку отправки ничего не происходит

Если при нажатии на форме на кнопку «Оправить» ничего не происходит, попробуйте следующие варианты решения проблемы.

  1. Проверьте, чтобы кнопка «Отправить» была полем тип Кнопка отправки, а не Кнопка.
  2. Если у Вас отключена опция Генерировать макет автоматически?, то проверьте, чтобы макет формы был правильным. Немного подробнее об этом в статье выше.
  3. Проверьте, чтобы у Вас не было включено кэширование. Немного подробнее об этом в статье выше.
  4. Если Вы используете различные расширения по оптимизации скорости загрузки сайта типа JCH Optimize Pro или WEBO Site SpeedUp, то временно отключите их.
  5. Проверьте консоль инструментов для разработчиков (в браузере (например, Firebug для Firefox)); проверьте логи сервера; включите Сообщения об ошибках (Для разработчиков (все ошибки PHP)) в глобальных настройках Joomla на вкладке Сервер. Если там есть ошибки, попытайтесь их исправить или обратитесь в службу технической поддержки разработчика RSForm Pro.

Изменение первого дня недели календаря

По умолчанию, компонент форм Joomla, в поле тип Календарь, ставит в качестве первого дня недели «Воскресенье». Чтобы изменить его на «Понедельник» зайдите в папку сайта «language/ru-RU» (или другого нужного Вас языка), найдите файл «ru-RU.com_rsform.ini», найдите в нём строку «RSFP_CALENDAR_START_WEEKDAY=»0″» (примерно №54) и замените «0» на «1», чтобы было так: «RSFP_CALENDAR_START_WEEKDAY=»1″» (без кавычек ёлочек). Теперь в календаре понедельник будет первым.

Миграция форм RSForm Pro с Joomla 1.5 на Joomla 3

Если Вы обновляете свой сайт с Joomla 1.5 до Joomla 3 и хотите перенести формы, то сперва убедитесь, что на сайтах установлены последние доступные версии RSForm Pro (с учётом совместимости с версией Joomla). Для Joomla 1.5 последняя версия RSForm Pro – это rev.44. Есть два варианта миграции форм и предоставленных данных.

Вариант №1. На сайте под управлением Joomla 1.5 перейдите в Компоненты – RSForm!Pro – Архивация / Восстановление. Затем перейдите на вкладку Архивация, выберите все формы, которые хотите перенести, при необходимости переноса отправленных данных активируйте опцию Включить предоставленные данные?. Экспортируйте всё в файл.

На сайте под управлением Joomla 3 перейдите в Компоненты – RSForm!Pro – Архивация / Восстановление. Затем перейдите на вкладку Восстановить, укажите экспортированный файл в поле Архивная копия. Если у Вас на новом сайте ещё нет никаких Важных форм и отправленных данных (которые нельзя потерять), то можете активировать опции Перезаписать существующие формы? и Получение ID форм из архива. После этого нажмите Восстановить.

Если не активировать данные опции (Перезаписать существующие формы? и Получение ID форм из архива) то могут возникнуть проблемы с отображением форм на сайте (в пунктах меню, модулях, материалах), так как отображение привязывается к ID форм, а эти ID могут поменяться.

Вариант №2. Откройте базу данных своего сайта под управлением Joomla 1.5 в чём-то на подобие phpMyAdmin (или в нём). Найдите все таблицы вида «ПРЕФИКС_rsform_НАЗВАНИЕ_ТАБЛИЦЫ» (рисунок ниже).

Таблица форм в базе данных

Экспортируйте их посредством phpMyAdmin. Префикс таблиц у каждого будет свой. Количество и набор таблиц базы данных RSForm Pro будет отличаться в зависимости от количества установленных плагинов RSForm Pro.

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

После импорта таблиц в новую базу данных повторно установите RSForm Pro на новом сайте. Это нужно для обновления структуры таблиц до последней версии.

Не работает AJAX проверка

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

  1. Перепроверьте все скрипты, которые Вы сами добавляли. В свойствах формы в разделе CSS и Javascript в области Javascript. В их синтаксисе не должно быть ошибок.
  2. Отключите все сторонние плагины в Расширения – Плагины (в самой Joomla).
  3. Попробуйте работу формы в «стандартном» шаблоне сайта «protostar» или «Beez3». Возможно, в Вашем шаблоне не подгружаются все необходимые инструменты для работы AJAX.
  4. Проверьте, чтобы у Вас не было включено кэширование. Немного подробнее об этом в статье выше.
  5. Если Вы используете различные расширения по оптимизации скорости загрузки сайта типа JCH Optimize Pro или WEBO Site SpeedUp, то временно отключите их.
  6. Проверьте консоль инструментов для разработчиков (в браузере (например, Firebug для Firefox)); проверьте логи сервера; включите Сообщения об ошибках (Для разработчиков (все ошибки PHP)) в глобальных настройках Joomla на вкладке Сервер. Если там есть ошибки, попытайтесь их исправить или обратитесь в службу технической поддержки разработчика RSForm Pro.

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

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

  • Префикс загружаемого файла – c 00:00.
  • Ограничение выбора даты в календаре – c 03:19.
  • Правила проверки дополнительных символов – c 04:22.
  • Ссылка на профиль пользователя в Community Builder – c 06:01.
  • Проблема с кодировкой в CSV файле – c 08:02.
  • Загруженное изображение в сообщении о благодарности – c 10:21.
  • Добавление условий и терминов – c 12:43.
  • Добавление появляющегося изображения при отправке формы – c 15:19.

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

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

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

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

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

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

Источник

Оцените статью