Ну хоть толкните в нужном направлении )

Parasol

Постоялец
Регистрация
7 Июл 2007
Сообщения
149
Реакции
69
Привет.
Есть задача - генератор "шаблонов" - застрял на самом интересном месте - алгоритме ))
Даже не застрял, а впал в какой-то глупый ступор.

К примеру, на сайте может быть:
- шапка
- левая колонка
- контент колонка
- правая колонка
- футер

так-же есть набор "модулей" которые могут размещаться в разных колонках.
Например
- голосование
- поиск
- подписка
итд...

Надо создать ряд правил по которым уже формировать шаблон, вот с этими правилами я и запутался крупно.

Может кто-то посмотрит на это свежим взглядом и найдет простое и грандиозное решение?

Просто все строить на if`ах как-то не красиво и очень уж объемно.

Спасибо!
 
Генератор в студию! Надо иметь представление хоть с чем ты имеешь дело.
 
Советую посмотреть код CMS Joomla 1.5 там шаблоны формируются таким же образов!!!
 
Генератор в студию! Надо иметь представление хоть с чем ты имеешь дело.

Да в том то и дело что это только предстоит сделать. Есть только задача.

Генерировать шаблоны.
Нужен сам алгоритм - сам кодинг не проблема.

Первый раз я впадаю в такой ступор, может витаминов не хватает :)

Добавлено через 29 секунд
Советую посмотреть код CMS Joomla 1.5 там шаблоны формируются таким же образов!!!

Спасибо за идею - посмотрю, может и вправду все уже давно написано :yahoo:
 
Писал когда-то такой генератор ,алгоритм был следующий:
1) генерация скелета:
контент есть всегда, через рандом строим на странице части (шапка, левая/правая колонка, футер)

2) например под каждую часть страницы есть папки header, footer, left, right который содержат в себе файлы с блоками(не важно какие там блоки, рейтинг, голосование, часы, информеры и т.д., главное что в каждом файл 1 блок).
Дальше простым рандомом для каждого блока, узнаем, будет ли он содержатся на странице или нет, если содержится добавляем в массив..

Конечный массив перемешиваем и отображаем...


Это самый простой и легкий алгоритм для написания простого шаблоно-генератора.
 
Шаблоногенераторные шаблоны тоже палятся и банятся. Забей, не трать время.

Проще написать конвертор из понравившегося сайта в шаблон - чтоб по урлу скачивало страничку, к ней css, картинки, выкусывало из html счетчики и прочий яваскрипт, меняло везде абсолютные пути на относительные и вуаля, готов шаблон.

Потом только руками позаменять куски текста на шаблонные переменные да поудалять лишнее, что автоматом не удалилось. И проще, и эффективнее, и результат будет радовать глаз.
 
Проже написать парсер к шаблонам от WordPress. Тогда и результат на выходе будет глаз радовать.
 
Привет.
Просто все строить на if`ах как-то не красиво и очень уж объемно.
Спасибо!

Сначала можно построить и на ифах. Когда всё будет работать у тебя и идеи появятся как оптимизировать код.
Так всегда и бывает.
 
советую сделать таблицу в БД, в которой будет связка такого типа номер блока - модуль, например будет так BLOCK_1 - модуль голосования, на страницу вытягиваешь все связки и заменяешь блоки на модули, также в блоки можно привязывать несколько модулей со своей сортировкой, однако удобно ИМХО
 
Буквально неделю назад писал генератор отчетов для проги.
У меня сам шаблон отчета лежал в xml-файле. Что-то вроде:
<checklist>
<check id="check1">
<table>0</table>
<type>9</type>
<output>
<header>
<element>checkname</element>
<element>tablename</element>
</header>
<table>
<theader>3</theader>
<row>
<element>record</element>
<element>action</element>
</row>
</table>
<footer>
<element>found</element>
<element>deleted</element>
<element>ignored</element>
</footer>
</output>
</check>
...
</checklist>
Отдельно в другой xml-ке лежали сообщения, а сам парсер делился сводился к чтению xml-файла и в цикле foreach обходились и парсились все элементы отчета. Для элементов со вложенными тегами выполнялся аналогичный вложенный парсинг. Я даже не разбивал парсер на отдельные процедуры и не извращался с ООП.

В результате, при помощи того-же xml генерилась html-ка, содержащая кучу таблиц с заголовками и итог по найденным, удаленным и пропущенным ошибкам.
 
Назад
Сверху