Заголовок сообщения: Хочу посоветоваться со специалистом по XML, XSLT и PHP Добавлено: 7 Октябрь 2004, 14:00:26
Hey!
Нужен совет по реализации моей задумки.
В качестве примера возьмём формирование структуры каталога (дирректории) вида:
+DirA __-DirAA __-DirBB +DirB __-DirBA __-DirBB __-DirBC +DirC
line имеет параметр num_el, значение которого должно импортироваться из внешнего файла настроек. Его значение определяет, сколько раз будет повторятся элемент element, другими словами - количество элементов в строке. Так же line содержит собственно element
element, в свою очередь, содержит элементы dir_link и dir_name.
Следовательно, должен быть шаблон вида (по сути-info файл): Template1.???
Шаблон должен иметь подобную понятную структуру, что бы быть легко редактируемым. К примеру, если я захочу вставить рядом с каждой директорией количество поддиректорий - [DirA(2) DirB(3) DirC], то шаблон изменяется следующим образом: Template1.???
Кроме того, правила преобразования в html должны быть максимально просто описаны, для правки как html-верстальщиком, так и php-кодером (не девелопером). Что то похожее на это: Html-rules1.???
Код:
structire: <table>[line]</table> line (loop-[round(sum_el/num_el+1)]-times): <tr>[element]</tr> element (loop-[num_el]-times): <td> [dir_link][dir_name/][sub_dirs_num/][/dir_link] <br></td> dir_link: -begin<a href="[#value]"> -end</a> dir_name: [#value] sub_dir_num: &пbsp([#value])
Итак, у нас есть Template1.??? и html-rules1.???
Ещё должен быть php файл Php-rules1.php, содержащий обработчики полей присутствующих типов - cfg и calc.
Вот у нас и есть полноценный набор файлов, представляющих собой совершенно независимый шаблон.
Вооот...
Как же это должно работать?
Допустим есть некая система, которая на лету позволяет подключать шаблоны. Вот краткий сценарий:
1. Инсталлируем новый шаблон работы со структурой директорий:
- указываем путь к папке с шаблоном
- система запрашивает у пользователя имя шаблона и добавляет элемент <name>TypedName</name> в Template1.???
- система парсит шаблон и создаёт под него соотв. базу данных с именем TypedName и полями ID и name (поля типов cfg и calc не создаются, т.к. они расчитываются в дальнейшем по своим правилам)
2. Заполняем базу
- система, на основе Template1.??? создаёт интерфейс для добавления/удаления/редактирования элементов по своим внутренним правилам
3. Просматриваем результаты
- В лоадер Php-rules1.php передается параметр cur_dir, затем загружается и исполняется файл Html-rules.??? - на экран выводятся поддиректории текущей (cur_dir). Вуаля!
Вот собственно то, что я вижу. То, как это должно работать. …
ВНИМАНИЕ. Вопрос.
Очень очень очень очень сильно не хочу придумывать с нуля языки шаблонов, правил и т.п. Я знаю, что уже есть готовые средства и механизмы создания подобных извращений (если вам так показалось) и не использовать их было бы грех. Как мне показалось, под мои нужды целиком и полностью подходят PHP+mySQL vs XML vs XSLT. Кто нибудь может нарисовать, с использованием этих технологий сделать данный пример? Я практик, и теорию начинаю усваивать и делать частью своего мышления только в случае, если ясно вижу способы использования. Сейчас это так, но не до конца, поэтому прошу совета/помощи. Возможно я не прав, и XMS+XSLT нужно оставить в стороне, использовав Smarty-templates. В любом случае жду совета.
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.