в phpMyEngine я реализовал всё так:
есть базовый класс
Record, в котором хранятся основные данные о записи — id, теги, рейтинг и т.д., так же у
Record есть два специальных поля —
mutagenType и
mutagenData. В
mutagenType — указывается тип мутагена (например "
staticpage","
blogpos","
category"), а в
mutagenData загружаются свойства этого мутагена. Сам мутаген хранится в «etc/mutages» и представляет из себя JSON-файл с описанием свойств и их поведением. А в админке ещё и автогенерируется формочка для редактирования :)
Если будет интересно, то скоро могу начать серию статей в "
Я пишу CMS"