идея интересная
не могу сказить что новая, так как долго работал с подобным но на базе Zope/python
а в прошлом году занялся своей CMS уже на php.
Концепция у меня схожая, только я пока не заморачивался с наследованием, так как оно в большинстве случеев мешало мне еще Zope/python.
Ну и называется у меня это не классы, а категории.
В добавок каждая категория может иметь свой родной шаблон отображения, либо комплект шаблонов (версия для печати, в формате ворд, pdf как-то тоже делал, но замучался с таблицами и бросил)
Ну и сама разбивка у меня другая.
Категории у меня обособлены от дерева и от структуры.
Само дерево представляет непосредственно экземпляры контент-классов (читай категорий).
Плюс есть возможность задавать категриии разрешенные к созданию в контексте того или иного узла. При чем задается это как в дереве так и в контексте категории.
Категории у меня расширяют атрибутику основных "классов" системы. Пока их у меня 4:
Папка (только в ней могут быть потомки), документ (под него в принципе категории и писались, так как он непосредственный контейнер информации), голосование, форма обратной связи (тоже конструируется)
В принципе создав какую-либо категорию в бэк-энде уже можно с ней работать.
А для фронт-энда зачастую нужно делать отдельный шаблон.
Ну и обратные связи приходица доставать только на уровне SQL, что мне не очень нравится, но в мускуле ничего с этим не поделаешь