Решил выложить в блог свою работу. По сути это компонент с формой обратной связи. Но поскольку, форм обратной связи, уже выкладывали много и разных, то чтобы как-то выделится назвал работу конструктором форм.
Что может этот конструктор.
А может он мало — только создавать формы с набором доступных полей, подобных тому, что есть в типах контента. На этом его возможности закончились.
Каждая форма имеет чуть больше возможностей.
Имеет своё сиситемное имя, название и описание и пять шаблонов для отображения на сайте.
В зависимости от настроек форма может многое.
Может быть привязана к зарегистрированному автору контента. (Например: содержимое формы автоматически может быть отправлено автору объявления или статьи личным сообщением и на email.)
В группах контента форма может быть привязана как к владельцу группы, так и к ее участникам.
Форму можно отправлять определённому администратору, определённым пользователям, определённым группам пользователей
Также форму можно отправить на один емаил.
Есть возможность указать текст на самой кнопке отправки формы.
При отправке формы с вложениями из полей типа файл, изображения или набор изображений, их содержимое сохраняется в папке загрузки с возможностью их автоматического удаления.
Из неявных возможностей, в случае если получатели сообщений и их email не определены, то содержимое формы прилетает к пользователю с id = 1 (по умолчанию — Администратор) с сообщением взглянуть на эту форму и перенастроить получателей. Также если форму отправляет авторизованный пользователь, то содержимое формы отправляется личным сообщением, если это гость, то отправляется уведомление.
Вывод форм.
Форму можно вывести с помощью обычного поля в типах контента, можно вывести виджет в нужном месте, можно увидеть форму на отдельной странице по адресу ваш_сайт/iforms/system_name, где system_name — системное имя нужной формы.
При желании можно прописать в коде: в нужном месте шаблона вызвать событиеМожно вывести несколько форм на одной странице (Если позволит ваша система капчи. reCaptcha привязана к адресу страницы и может быть выведена только одна. Но если отключить вывод капчи для авторизованных пользователей, вполне возможно.)
Установка.
Установка возможна в ручном и автоматическом режиме (как принято в системе). Скачиваем архив и устанавливаем.
Внимание!!! Поскольку компонент претерпел много изменений с "первой" версии, то при автоматической установке удалятся и вновь создадутся таблицы в базе данных с потерей ранее созданных форм. Если вам крайне важно сохранить все ранее созданные 100500 форм, стучите в личку, пришлю инструкцию, что и где надо создать, а где удалить, но и после всех манипуляций, надо будет пересохранить все формы.
После установки добавится компонент, виджет и поле в типах контента. По созданию, редактированию и настройкам там вполне интуитивный интерфейс выдержанный в стилях общей системы.
Поля имеют дополнительные настройки для отображения в контенте.
Дабы не было задвоений названий полей, виджетов и т. п. с названием форм, сами определяйте, где и что убрать с отображения.
Шаблоны для вывода форм сделал минимальными, поэтому рисуйте их на свой вкус и цвет. Они доступны по пути \templates\default\controllers\iforms\
Спасибо всем, кто подавал идеи, принимал участие в тестировании и указывал на ошибки.
С платной версией можно ознакомиться тут.
З.Ы. Из всех файлов движка, затронут только один файл шаблона \templates\default\assets\ui\form.tpl.php. Поэтому когда появится конструктор форм встроенный в систему (от разработчиков), вы сможете удалить этот компонент без риска "сломать" систему. Либо у вас будет выбор, чем пользоваться.
З.Ы. Обновил архив. Слегка изменил работу с полями в контенте и виджете. Появились галочки "Не отображать заголовок" и "Не отображать описание" — для удобства. Удалил неиспользуемые поля в базе данных полей и изменил описание форм со строки на текст. Добавил возможность указать action для форм, на случай если вы вдруг захотите использовать свой обработчик форм. Устранил несколько ошибок связанных с несуществующими индексами переменных и подозрительной кнопкой в настройках поля. Теперь поле может выглядеть как ссылка. Для обновления необходимо скачать и перезаписать файлы без переустановки в админке. Ссылку на архив для полной установки, также обновил в тексте блога.
З.Ы. Данный компонент не поддерживается разработчиком. Для приобретения поддерживаемой и актуальной версии конструктора, воспользуйтесь этим дополнением
Что может этот конструктор.
А может он мало — только создавать формы с набором доступных полей, подобных тому, что есть в типах контента. На этом его возможности закончились.
Каждая форма имеет чуть больше возможностей.
Имеет своё сиситемное имя, название и описание и пять шаблонов для отображения на сайте.
В зависимости от настроек форма может многое.
Может быть привязана к зарегистрированному автору контента. (Например: содержимое формы автоматически может быть отправлено автору объявления или статьи личным сообщением и на email.)
В группах контента форма может быть привязана как к владельцу группы, так и к ее участникам.
Форму можно отправлять определённому администратору, определённым пользователям, определённым группам пользователей
Также форму можно отправить на один емаил.
Есть возможность указать текст на самой кнопке отправки формы.
При отправке формы с вложениями из полей типа файл, изображения или набор изображений, их содержимое сохраняется в папке загрузки с возможностью их автоматического удаления.
Из неявных возможностей, в случае если получатели сообщений и их email не определены, то содержимое формы прилетает к пользователю с id = 1 (по умолчанию — Администратор) с сообщением взглянуть на эту форму и перенастроить получателей. Также если форму отправляет авторизованный пользователь, то содержимое формы отправляется личным сообщением, если это гость, то отправляется уведомление.
Вывод форм.
Форму можно вывести с помощью обычного поля в типах контента, можно вывести виджет в нужном месте, можно увидеть форму на отдельной странице по адресу ваш_сайт/iforms/system_name, где system_name — системное имя нужной формы.
При желании можно прописать в коде: в нужном месте шаблона вызвать событие
<?php echo cmsEventsManager::hook('print_form', array('fname' => 'system_name', 'options' => 'опции');?>
Установка.
Установка возможна в ручном и автоматическом режиме (как принято в системе). Скачиваем архив и устанавливаем.
Внимание!!! Поскольку компонент претерпел много изменений с "первой" версии, то при автоматической установке удалятся и вновь создадутся таблицы в базе данных с потерей ранее созданных форм. Если вам крайне важно сохранить все ранее созданные 100500 форм, стучите в личку, пришлю инструкцию, что и где надо создать, а где удалить, но и после всех манипуляций, надо будет пересохранить все формы.
После установки добавится компонент, виджет и поле в типах контента. По созданию, редактированию и настройкам там вполне интуитивный интерфейс выдержанный в стилях общей системы.
Поля имеют дополнительные настройки для отображения в контенте.
Дабы не было задвоений названий полей, виджетов и т. п. с названием форм, сами определяйте, где и что убрать с отображения.
Шаблоны для вывода форм сделал минимальными, поэтому рисуйте их на свой вкус и цвет. Они доступны по пути \templates\default\controllers\iforms\
Спасибо всем, кто подавал идеи, принимал участие в тестировании и указывал на ошибки.
С платной версией можно ознакомиться тут.
З.Ы. Из всех файлов движка, затронут только один файл шаблона \templates\default\assets\ui\form.tpl.php. Поэтому когда появится конструктор форм встроенный в систему (от разработчиков), вы сможете удалить этот компонент без риска "сломать" систему. Либо у вас будет выбор, чем пользоваться.
З.Ы. Обновил архив. Слегка изменил работу с полями в контенте и виджете. Появились галочки "Не отображать заголовок" и "Не отображать описание" — для удобства. Удалил неиспользуемые поля в базе данных полей и изменил описание форм со строки на текст. Добавил возможность указать action для форм, на случай если вы вдруг захотите использовать свой обработчик форм. Устранил несколько ошибок связанных с несуществующими индексами переменных и подозрительной кнопкой в настройках поля. Теперь поле может выглядеть как ссылка. Для обновления необходимо скачать и перезаписать файлы без переустановки в админке. Ссылку на архив для полной установки, также обновил в тексте блога.
З.Ы. Данный компонент не поддерживается разработчиком. Для приобретения поддерживаемой и актуальной версии конструктора, воспользуйтесь этим дополнением
Реклама #
Fenix 9 лет назад #
Олег с клещами 9 лет назад #
Олег с клещами 9 лет назад #
Loadырь 9 лет назад #
Олег с клещами 9 лет назад #
Владимир 9 лет назад #
Loadырь 9 лет назад #
WebMan 9 лет назад #
Во-вторых, "Конструктор форм" - прекрасный почин для блога и отличная профессиональная работа. Тестирую вторую версию со вчерашнего вечера - вчера случайно увидел её в Ваших файлах.
Хочу уточнить, сегодня Вы перезалили файл с тем же именем - там есть какие-то правки?
Заметил, что настройка "Положение заголовков - При просмотре записи" не работает.
И ещё, при включении отладки при отбражении формы как поля в контенте видно предупреждение:
E_NOTICE: Undefined index: open_new_window /system/fields/iforms.php (23)
/system/controllers/content/actions/item_view.php (59) fieldIforms->parse
/system/controllers/content/actions/item_view.php (59) actionContentItemView->run
/system/core/controller.php (276) actionContentItemView->call_user_func_array
Loadырь 9 лет назад #
WebMan 9 лет назад #
Сегодня уже не успею ничего сделать. Постараюсь до понедельника найти причину ошибки.
Олег Васильевич я 9 лет назад #
webtotma 9 лет назад #
Эх еще б по связям типов контента наработки выложили бы ...
WebMan 9 лет назад #
WebMan 9 лет назад #
Norm Gold 9 лет назад #
Олег с клещами 9 лет назад #
При попытке отправить форму выдаёт:
Fatal error: Call to a member function get() on a non-object in /var/www/aqq10508/data/www/site.ru/system/controllers/recaptcha/hooks/captcha_validate.php on line 11
Что не так с капчей?
Alexprofi 9 лет назад #
Fatal error: Call to a member function get() on a non-object in /home/autotech/site.ru/www/system/controllers/recaptcha/hooks/captcha_validate.php on line 11
Loadырь 9 лет назад #
Norm Gold ваша проблема вероятно всего в этом же. Сам архив перезалью чуть позже.
Alexprofi 9 лет назад #
Alexprofi 9 лет назад #
Еще вопрос по каптче. Сначала были цифры на картинке, сейчас просто текст. Это где-то настраивается?
Loadырь 9 лет назад #
jorgovich 9 лет назад #
Kreator 9 лет назад #
Loadырь 9 лет назад #
Олег с клещами 9 лет назад #
Теперь вроде всё отправляется, а письмо не приходит. Это только у меня так?
Loadырь 9 лет назад #
Олег с клещами 9 лет назад #
Loadырь 9 лет назад #
Олег с клещами 9 лет назад #
Loadырь 9 лет назад #
Glaz 9 лет назад #
Loadырь 9 лет назад #
Glaz 9 лет назад #
Пробовал добавить через виджет - то же самое. Шаблон не дефолт но файлы скопировал и в него.
Glaz 9 лет назад #
Loadырь 9 лет назад #
Glaz 9 лет назад #
Smooch 9 лет назад #
Smooch 9 лет назад #
AVPRT 9 лет назад #
Loadырь 9 лет назад #
AVPRT 9 лет назад #
А компоненте в списке не отображаются созданные формы.
Может дело в новом шаблоне не дефолтном, установленном на CMS?
Loadырь 9 лет назад #
AVPRT 9 лет назад #
Loadырь 9 лет назад #
Геннадий 9 лет назад #
Геннадий 9 лет назад #
Loadырь 9 лет назад #
vldorzhiev 9 лет назад #
например что бы выводилось 'placeholder' =>'title' что-то типо такого.
заранее благодарен может кто поможет?
Loadырь 9 лет назад #
Gudan 9 лет назад #
Форма не имеет указанного получателя, проверьте ее настройки или место расположение Конструктор форм: Андрей отправил(а) форму со страницы:
и так далее
Loadырь 9 лет назад #
Gudan 9 лет назад #
Loadырь 9 лет назад #
Gudan 9 лет назад #
Loadырь 9 лет назад #
Gudan 9 лет назад #
AVPRT 9 лет назад #
в чем может быть причина?
Loadырь 9 лет назад #
WebMan 9 лет назад #
Loadырь 9 лет назад #
WebMan 9 лет назад #
Loadырь 9 лет назад #
Loadырь 9 лет назад #
m0skit 9 лет назад #
Странно что разработчики не включили в систему такую необходимую для каждого сайта вещь, как форма обратной связи.
Установил на сайт и заметил следующее.
При добавлении формы через поле в типах контента, нужно указывать название поля.
Я указал "Форма". Дальше, в форме указываю заголовок "Форма обратной связи".
Добавляю на страницу и вижу что отображается и слово "Форма" и под ним "Форма обратной связи". Как-то не айс.
Решил отключить отображение заголовка формы для того чтобы осталось одно наименования поля.
Но, в результате форма съезжает вправо от названия поля вместо того чтобы отображаться под ним.
Loadырь 9 лет назад #
m0skit 9 лет назад #
Еще заметил следующее.
При редактировании страницы, на которой вставлена форма, настройки формы постоянно скидываются на "отображать в виде ссылки". Приходится при каждом изменении страницы устанавливать заново настройки отображения.
Владимир 9 лет назад #
Loadырь 9 лет назад #
Владимир 9 лет назад #
solntsev 9 лет назад #
Loadырь 9 лет назад #
qwest 9 лет назад #
Loadырь 9 лет назад #
solntsev 9 лет назад #
В чем заключается различие между видами форм созданных в во вкладке формы от форм созданных во вкладке Использование форм?
WebMan 9 лет назад #
Различия нет. На вкладке "Формы" - список созданных форм. На вкладке "Использование форм" - присланные пользователями (заполненые) формы. Ссылка "Создать форму" и там, и там - одинаковая и ведёт на одну и ту же страницу создания форм. Видимо Loadырь сделал это для удобства создания новых форм.
Loadырь 9 лет назад #
m0skit 9 лет назад #
Я добавил формы через новое поле в типах контента. Назвал его "Форма обратной связи".
Создал страницу, вставил форму. Все вроде бы отлично.
Но, сегодня создал новую страницу, на которой не планируется размещение формы.
Так вот, заголовок поля все равно присутствует не смотря на то, что форма не вставлялась.
Я понимаю, что это больше относится к самой системе, а не к формам.
Но может быть есть какой-нибудь способ скрытия поля, если оно пустое?
Loadырь 9 лет назад #
m0skit 9 лет назад #
Да, Версия последняя.
Просто перезаписать сайты через FTP клиент? Все?
Loadырь 9 лет назад #
m0skit 9 лет назад #
m0skit 9 лет назад #
WebMan 9 лет назад #
Если про первое, то просто укажите в настройках этого поля в типе контента "Положение заголовков"="Не показывать". А сам заголовок поля на странице сделайте в форме - как название формы в настройках формы. Тогда при отсутствии формы на странице вместо заголовка и отсутствующей формы будет пустое место. А при наличии формы в контенте появится и форма, и её заголовок.
m0skit 9 лет назад #
Спасибо за подсказку
webtotma 9 лет назад #
Loadырь 9 лет назад #
WebMan 9 лет назад #
Мне больше подошёл такой вариант, а не написание обработчика целиком, так как проще использовать уже существующие возможности и к ним добавить чуток своих недостающих.
Вячеслав Эст 9 лет назад #
например:
странная ситуация в том, что вместо пункта списка в сообщении приходит его индекс
как сделать что бы приходящем сообщении вместо индекса элемента списка выводилось его содержимое,
Loadырь 9 лет назад #
Размещение заказа | Размещение заказа
Организационные вопросы | Организационные вопросы
и т. д.
Вячеслав Эст 9 лет назад #
Вячеслав Эст 9 лет назад #
Вячеслав Эст 9 лет назад #
Loadырь 9 лет назад #
Вячеслав Эст 9 лет назад #
biviskra 9 лет назад #
Не подскажите как сделать чтоб форма со ссылкой еще и тайтл страницы передавала?
No Name 9 лет назад #
No Name 9 лет назад #
Виталий 9 лет назад #
Пробовал на демо-сайте не смог найти (если есть вообще такая возможность) как ограничить определенной группе пользователей доступ к выбору форм. Т.е. вот к примеру люди из определенной группы могли добавлять только определенные формы, а из другой другие формы, или при добавлении поля в контент можно было указать конкретно какая в этом контенте форма должна выводится. Есть такой функционал?
Loadырь 9 лет назад #
Kreator 9 лет назад #
Занимательно, но если убрать галочку "Удалять файлы после отправки" то приходит вместо фоторгафий значение из поля БД где хранится запись о картике. т.е.
Loadырь 9 лет назад #
Kreator 9 лет назад #
Куда она интересно делась? системные файлы движка не менялись.
Устанавливал ай-формы через установщик.
Loadырь 9 лет назад #
Kreator 9 лет назад #
Loadырь 9 лет назад #
Loadырь 9 лет назад #
Kreator 9 лет назад #
Delika 9 лет назад #
Loadырь 9 лет назад #
Delika 9 лет назад #
Loadырь 9 лет назад #
Delika 9 лет назад #
Loadырь 9 лет назад #
Delika 9 лет назад #
zotak 9 лет назад #
Loadырь 9 лет назад #
eoleg 9 лет назад #
Loadырь 9 лет назад #
eoleg 9 лет назад #
<?php echo cmsEventsManager::hook('print_form', array('fname' => 'system_name', 'options' => 'опции');?>
Так если вставить статью код то может отобразится?
Я попробовал вставить как код но ничего не получилось, наверное нужно другой код вставлять.
WebMan 9 лет назад #
Этот код будет работать при вызове его из шаблона или виджета "PHP-код".
WebMan 9 лет назад #
eoleg 9 лет назад #
WebMan 9 лет назад #
eoleg 9 лет назад #
jorgovich 9 лет назад #
Vyacheslav 8 лет назад #
Единственная наведенная проблема это сворачивание модального окна редактирования виджета, из-за файла - templates\default\assets\ui\form.tpl.php, от старой версии.
Вот отредактированный файл для 2.5.1 (изменения в двух строках) - http://instantcms.ru/users/files/download6123.html
Loadырь 8 лет назад #
Vyacheslav 8 лет назад #
На фронтенде работает без ошибок!
Loadырь 8 лет назад #
Darlex 7 лет назад #
Loadырь 7 лет назад #
Рекомендую присмотреться к версии с поддержкой. К тому же через семнадцать дней начнутся новогодние скидки и он станет ещё доступнее.
Darlex 7 лет назад #
Mari 6 лет назад #
skewes 5 лет назад #
На шаблоне Corpix такое пишет и на дефолте тоже не отображает конструктор форм)))
Loadырь 5 лет назад #