Особенности Smart Scaffolding
October 15th, 2009 by 1datr- Классы полей данных: Не путать с типом полей данных. Никакой прямой связи между типом и классом поля нет. Поля одинакового типа могут иметь в одном и том же контроле разные классы. Класс поля данных - это способ внешнего представления поля данных а также операции и функционал обработки поля перед операциями с базой данных. Поле может быть подставляемым из списка значений, может быть датой, выбираемой из js-календря, каким-нибудь колорпикером и тп. Можно представить себе бесконечное количество вариантов работы отдельного поля. Именно с этой целью и создавался этот механизм. В пакете уже содержится ряд классов данных, таких как text(простое текстовое поле), textarea(поле memo), file(загрузка файлов на сервер и сохранения ссылок на них), lookup(подставляемое поле), dynlookup(подставляемое поля с возможностью удаления-добавления черех AJAX). Разработчик может написать свой класс поля данных, унаследовав его от класса df_base
- Событийная модель: Она используется в классах данных и в самом скаффолдинге. У классов полей есть события OnUpdate, OnDelete, OnInsert, возникающие при обновлении, удалении и вставке соответственно. Это позволяет проводить обработку данных перед выполнением операций базы данных. В самом скаффолдинге предусмотрены события, возникающие перед рендеригом страниц редактирования, обзора, добавления и тп. Также предусмотренно событие перед рендерингом строки данных в обзоре.
- Колнтитулы: позволяют добавить к основной функциональной части страницы куски своего html-кода сверху, снизу, слева и справа. Это очень удобно если надо сделать разного рода меню.
Возможные направления развития проекта
- Создать helper/library, позволяющюю использовать механизм классов полей данных для публичных (дизайнерских) страниц сайтов.
- Создать механизм валидации данных при добавлении/редактировании.
- Возможность картинок в ссылках на удаление, редактирование и дополнительных ссылках.