Довольно давно
слепил несложный генератор SQL-запроса для создания страниц, выдающий по простому шаблону класса соответствующий код таблицы. Чуть позже добавил и генератор простого класса по нему же.
Сегодня капитально расширил функционал генератора. Кроме SQL и основного класса теперь генерируется весь базовый функционал админки. Страница со списком объектов, редактирование и создание объектов...
Пока ещё достаточно сыро и неконфигурабельно, но уже сильно уменьшает объём рутины. Вид шаблона примерно такой:
code text
class: aviaport_directory_edition
title: Авиационное издание
titles: Авиационные издания
admin_class: aviaport_admin_directory_edition
directory_editions:
int id++!
int edition_type_id! // Тип издание - выбор из перечня: Журнал, Газета, Бюллетень
string title // Название издания
text description // Аннотация:
int format_id // Формат: выбор из перечня: A4, A3
int copies // Тираж (экз.)
int size // Объем стр.
string www // WWW
string periodicity // Регулярность выхода
string distribution // Способ распространения
string geography // География распространения
int birthday_year // Год основания
text history // Краткая история создания
text rubrics // Рубрики
text chief // Главный редактор
int create_time!
int modify_time!
int owner_id
int last_editor_id
Комментарии впоследствии используются и как названия полей при редактировании.
...
В планах унификация и вычистка кода (убирание пары привязок к конкретному проекту). Можно также добавить унифицированный вывод объектов на сайте. Нужно подумать также на тему генерации классов-типов. edition_type_id в нашем примере - сейчас такие классы, хоть они и примитивные, приходится создавать вручную.