Мне нужно иметь возможность хранить что-то вроде этого:
Структура http://i33.tinypic.com/f4dwea.jpg
, где зеленый - это тип template
, серый - это тип field container
, а белый - field
. (Это значит, что поле имеет метку и некоторый текст, оба для удобства - средний текст; контейнер поля может хранить другие контейнеры или текст поля, а шаблон - это поле верхнего уровня.)
Теперь, допустим, я хочу разрешить пользователям создавать любое количество этих структур, но вряд ли это будет больше, чем, скажем, 10. И, конечно, нам нужно иметь возможность связывать данные с ним.
Это все, чтобы иметь возможность хранить в базе данных ассоциативный массив, который выглядит так, как в псевдокоде:
my_template = {
page_info => { description => 'hello!!!' },
id => 0,
content => { background_url => '12121.jpg', text => ...
}
Наличие простого способа добавить поле ко всем данным с использованием шаблона при изменении шаблона (скажем, мы добавляем keywords
к page_info) было бы большим плюсом.
Я не могу понять это, большое спасибо!