Home JOOMLA “Нормальный” компонент форм для JOOMLA 1.5.x
“Нормальный” компонент форм для JOOMLA 1.5.x

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

Есть стандартный компонент “contackts” который через ссылку в меню выводит форму для «письма с сайта» на выбранный контакт, но решение это крайне ограничено по функционалу и практически непригодно для решения широкого круга задач.

Приведу пример: в сайте необходимо было сделать форму обратной связи с вполне стандартными полями – ФИО, e-mail, текст сообщения, также всю эту красоту должен предварять вступительный текст о том, как будет хорошо, если посетитель заполнит эту форму. При нажатии кнопки «отправить» сообщение уходит на мыло владельцу сайта. Вроде бы типичная задача, но как оказалось без «финта ушами» её не решить. Joomla 1.5 не дает возможности предварять поля формы вступительным текстом, да и вообще дальше трех стандартных полей тут не разгуляешься. 


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


Есть еще один вариант – сделать контакт, прикрутить к меню, зайти по меню и скопировать html код формы который впоследствии вставлять в материал. Но тут возникает тоже ряд проблем: редактор TinyMCE 2.0 стоящий по умолчанию фильтрует в тексте все формы и скрипты. Приходится либо отключать на время редактор, чтобы вставить необходимый код, либо добавлять код напрямую в базу, например через phpmyadmin. Тоже очень неудобно и самое противное, что контент с формой в последствии править через TinyMCE 2.0 нельзя, т.к. он опять отфильтрует вашу форму.


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


Все это натолкнуло меня на поиски компонента для создания и управления формами на Joomla 1.5.x . К слову сказать, в старой Joomla когда она была еще Mambo’й был компонент, который весьма неплохо с этими задачами справлялся, назывался он – Forms. По какой причине разработчики Joomla 1.5.х не включили в состав новой системы подобный компонент остается загадкой.


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


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

Испытательный стенд: Локальный сервер на Денвере, Joomla 1.5.9 русская версия, браузеры: IE 6, IE7, FireFox, Opera, Safari.


Бесплатные компоненты:

 

Fabrik 2.0 rc2

Компонент на мою Joomla 1.5.9 не установился категорически, сильно ругаясь матом.

 

ArtForms  2.1b7.2 RC2



Начну с того что компонент весит 13 мегабайт, что ИМХО не совсем нормально, т.к. не у всех гигабайтные хостинги и etc.
При установке – Joomla ушла в себя и не вернулась, плюнула ошибкой 500. Я попробовал покрутить таймауты – результат аналогичный.

 

CK Forms 1.2.1

Само название ЦК формс – настораживает постсоветское ухо, ну да ладно.
Компонент весит мало, устанавливается быстро, также в комплекте имеется плагин для вставки формы в контент.
Итак приступим – Компоненты – ЦК Формс – создать – видим четыре вкладки General, Result, E-mail, Advanced. Настраиваем параметры, попутно замечаем, что есть такие вкусности как «капча» и заливка файлов с формы.  В меню Filds добавляем желаемые поля. В меню прикручиваемся к компоненту, идем по ссылке, IE начинает орать «Выполнено, но с ошибками на странице», поля и капча отобразились, а вот кнопки отправки формы – нет. Все попытки заставить этот компонент работать провалились.

 

JFORMS 0.5 RC1



Интересный компонент, создается форма через приятный и функциональный конструктор, присутствуют, капча, загрузка файлов, тонкая настройка сообщений админу и пользователю и многое другое приятное. Конструируем форму, прикручиваем к меню, запускаем – все это безобразие запускается самым отвратительным образом: в пустом окне и за место русского языка – «крякозябли». Ну, с русским я еще могу понять – это весьма распространенная проблема, но вот почему он открылся в пустом окне без намека на какой либо шаблон и другие мои данные, это осталось загадкой.

 

ChronoForms V3.1 RC3



На борту полный комплект – компонент, модуль, плагин. Отличный компонент, но не работает с «великим и могучим». Ради справедливости надо сказать, что на форумах я встречал людей, которым удалось заставить этот компонент работать с русским, но решения эти не совсем универсальны и не подходят многим.

 

Коммерческие (платные) компоненты:

 

BreezingForms 1.5.1b



Первые впечатления были весьма приятными: интуитивный конструктор форм, есть набор скриптов с возможностью управлять событиями, помимо компонента есть и модуль и плагин. При создании или редактировании формы встречается много глюков, на некоторые страницы с параметрами я вообще через IE зайти не мог, сказывалась проблема работы IE c корявыми java скриптами. Через прикручивание компонента к меню результат работы посмотреть не удалось, мне показали - [No form id or name provided!]. Зато через вставку формы в контент через специальный плагин – форма показалась. Но если в варианте с выводом через меню давали выбрать где публиковать форму в iFrame или нет, и был выбор показывать рамку вокруг формы или нет, то через плагин таких привилегий по выбору мы не имеем. При попытке послать письмо в iframe на короткий момент возникают сообщения об ошибках, потом исчезают, страница идет в перезагрузку, нам вежливо показывают сообщение alert’ом, на чистом английском языке, о том что форма ушла на мыло, дескать спасибо и все такое. Поменять текст сообщения на привычный нам русский через меню нельзя. После того как мы нажимаем кнопку ОК нам показывают материал опубликованный на главной странице в гордом одиночестве, на белом листе, без навигации и т.д. В общем все мои попытки заставить этот компонент работать должным образом не увенчались успехом.

 

RSFORM! PRO 1.0.1 rev12

Вот, наконец, и добрались до самого вкусного! Этот компонент  мне понравился сразу, как жаль, что я не наткнулся на него сразу. Но с другой стороны, если поразмыслить, то в таком случае не было бы этой статьи :).  В общем, полностью описывать его не буду, лучше как говорится один раз увидеть, перечислю основные возможности:

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


Вот  вкратце мои старания по поиску компонента управления формами на Joomla 1.5.x. В заключении хотелось бы отметить, что для Joomla 1.0.x компонентов больше в разы, но как я вычитал на форумах Joomla общественности, через legaсy-mode они не работают.

 
Статьи и обзоры по CMS Joomla 1.5.x