chameleon
Новичок
пути обXMLливания
...
Что-то тихо в форуме
....
Есть наследованная самоделка (типа XML_CMS). Состав:
1. xml-описание структуры страницы впростенького сайтика (html+спец.тэги для вставки блоков - т.е. шаблон) - "pagelayout.xml".
2. xml-контент (это уже другой документ) формируется php-скриптом ессно - существует только в domxml на время жизни скрипта.
3. Стандартный XSLT для представления (преобразования в html) стандартных же элементов (спец.- и неспец.тегов) на основе документов xml-шаблона и xml-контента - "show.xsl"
4. Набор стандартных модулей для сайта (голосование "vote.php", новости "news.php", календарик "calendar.php" и т.п.)...все они преимущественно работают с БД.
Вооот...
информацию о том какие модули будут на странице хочется держать только в самом шаблоне страницы (сейчас просто тупо инклюдятся все модули (!) независимо есть они в шаблоне страницы или нет, т.к. их немного), т.е. если в шаблоне тег <block name="news"/> присутствует то подключается модуль news.php (грубо)...
как делать?
1. Загужать xml-шаблон "pagelayout.xml" в domxml; делать get_elements_by_tagname('block'); далее include("@name"+".php") циклом по результатам. (все очень образно). Все делает "главный" скрипт (main.php) который создает чистый xml ($page), делает коннект к БД ($conn) и инклюдит модули, которые уже используют $page и $conn для своей работы и вставки результатов в главное дерево....
2. Либо делать в xslt (промежуточная трансформация xml-шаблона?) с функцией document(concat(@name,'.php?param=bla-bla')). в шаблонах которые match="block". Тогда каждый модуль должен будет делать свой коннект к БД и отдавать "чистый" xml (что мне почему-то нравится
...а вот например при коннекте с Oracle критично ли упадет быстродействие в целом если каждый модуль будет пытаться делать свое соединение?
Или мож велосипед уже? (только не тыкайте меня в Cocoon там какой-нить - нереально все так быстро переписать).. Хотя это и не важно
...система рабочая можно вообще оставить все как есть...но чувствую скоро придется делать еще один сайт на этом, блин, frameworkе.... с некоторым увеличением количества модулей
...пока есть время можно переделать чуток
...
PS если чего непонятно я дорасскажу
...
уфф....аж пальцы устали...

Что-то тихо в форуме

Есть наследованная самоделка (типа XML_CMS). Состав:
1. xml-описание структуры страницы впростенького сайтика (html+спец.тэги для вставки блоков - т.е. шаблон) - "pagelayout.xml".
2. xml-контент (это уже другой документ) формируется php-скриптом ессно - существует только в domxml на время жизни скрипта.
3. Стандартный XSLT для представления (преобразования в html) стандартных же элементов (спец.- и неспец.тегов) на основе документов xml-шаблона и xml-контента - "show.xsl"
4. Набор стандартных модулей для сайта (голосование "vote.php", новости "news.php", календарик "calendar.php" и т.п.)...все они преимущественно работают с БД.
Вооот...
информацию о том какие модули будут на странице хочется держать только в самом шаблоне страницы (сейчас просто тупо инклюдятся все модули (!) независимо есть они в шаблоне страницы или нет, т.к. их немного), т.е. если в шаблоне тег <block name="news"/> присутствует то подключается модуль news.php (грубо)...
как делать?
1. Загужать xml-шаблон "pagelayout.xml" в domxml; делать get_elements_by_tagname('block'); далее include("@name"+".php") циклом по результатам. (все очень образно). Все делает "главный" скрипт (main.php) который создает чистый xml ($page), делает коннект к БД ($conn) и инклюдит модули, которые уже используют $page и $conn для своей работы и вставки результатов в главное дерево....
2. Либо делать в xslt (промежуточная трансформация xml-шаблона?) с функцией document(concat(@name,'.php?param=bla-bla')). в шаблонах которые match="block". Тогда каждый модуль должен будет делать свой коннект к БД и отдавать "чистый" xml (что мне почему-то нравится

Или мож велосипед уже? (только не тыкайте меня в Cocoon там какой-нить - нереально все так быстро переписать).. Хотя это и не важно



PS если чего непонятно я дорасскажу

уфф....аж пальцы устали...