Перед тем как сесть писать, хочу спросить у вас, Loki, м.б. у вас есть некоторые наработки по этой теме, могли бы вы ими поделиться?

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