Можно шаблоны блоков подключать. А все данные по каждому блоку - хранить в базе данных. И содержимое и стили и т.д. и т.п.
Например, нам нужен блок А. Мы идет в шаблоны, выбираем этот блок, подгружаем, выполняем с ним манипуляции. Сохраняем. В базу идет название блока, содержимое, стили (положение и т.п.)
Потом, когда мы подгружаем существующие блоки, берем из базы название блока, подгружаем нужный шаблон блока, добавляем в него содержимое и стили с базы и выдаем пользователю.
P.S. мог не правильно понять задачу. Можно обсудить все в комментах.