Главное меню
все форумы все темы форума добавить тему
Модуль генератора форм
Планирую написать этот модуль для LabCMS. Чтобы через интерфейс можно было создавать новые формы из любого количества полей различных видов и затем как статические блоки вставлять их в нужные части сайта. Полезно, если надо написать форму обратной связи, но включать дополнительные поля, помимо ФИО, email и текста сообщения и таких форм нужно несколько и все они должны полями отличаться.
 
Перед тем как сесть писать, хочу спросить у вас, Loki, м.б. у вас есть некоторые наработки по этой теме, могли бы вы ими поделиться?
Что касается модуля обратной связи, то там все просто как грабли
 
В шаблоне от руки рисуется форма, у которой все поля представляют собой элементы двух массивов:
obl (obligatory) - поля обязательные для заполнения
nobl (not obligatory) - необязательные поля
 
Собственно и все. Достоинства такой схемы - предельная простота и возможность реализации любого дизайна. Недостатки тоже имеются: необходимость хотябы базовых навыков верстки, необходимость руками править файлы и отсутствие хоть какой-то проверки валидности данных.
 
Генератор форм в движке имеется. Для этих целей использована библиотека QuickForm2 и в новых модулях я стараюсь использовать именно ее (старые тоже постепенно рефакторю). Она умеет не только создавать формы, но и проводить их валидацию (в том числе и на клиентской стороне). Примеры ее использования можно посмотреть в модулях авторизации, фотоальбома, гостевой книги и в каком-то из админских.
 
Других наработок у меня пока нет, но если что - спрашивайте.
QuiсkForm2 видел, на её основе и хотел сделать этот генератор. Его суть просто заключается в том, чтобы формы мог создавать и обычный Пользователь Системы А так всё то же самое, что обычное создание форм вручную.
Difull:
QuiсkForm2 видел, на её основе и хотел сделать этот генератор. Его суть просто заключается в том, чтобы формы мог создавать и обычный Пользователь Системы А так всё то же самое, что обычное создание форм вручную.

Я тоже об этом подумывал сравнительно недавно. А то как-то несолидно рисовать формы руками
Правда, я пока не очень себе представляю для чего могут понадобится формы вставляемые как блоки. В нескольких местах подключить модуль обратной связи - это понятно, а вот встраивать как фрагмент страницы... зачем?