Шаблонизатор изначально написан под PHP5, хотя есть версия и под PHP4, но она толком не отлажена. Предназначен он для проектов средних размеров, ориентирован в первую очередь на программиста, так как логика представления настраиватся исключительно через скрипты. Основной задачей ставилось создать движок, который бы позволял простую реализацию создания собственных функций по обработке шаблонов. Правда в мануал я не включил материала, который бы описывал процесс этого создания, ибо лень, да и нет смысла. Но если кто-то заинтересуется, моё мыло - d-maxx@mail.ru. скачать можно здесь: http://prr.stsland.ru/pattern_v1.0.rar Небольшой пример - вывод ленты новостей с помощью шаблонизатора: file: mysql.tpl HTML: <html> <head> <title>mysql_demo</title> </head> <body> <table> <!--#loop _news--> <tr> <td><!--#mysql _date--></td> <td><!--#mysql _content--></td> </tr> <!--#endloop _news--> </table> </body> </html> file: mysql.php PHP: <?php require "classes/class_pattern.php"; require "mysql_connect.php"; $PAT_LOOP ["_news"] = "-+10"; // выведет десять последних элементов массива в // обратном порядке $PAT_MYSQL ["_date"] = "news.date"; // ссылка на столбец "date" $PAT_MYSQL ["_content"] = "news.content"; // ссылка на столбец "content" $pat = new pattern; $pat->mysql_database = $database; $compile_file = $pat->compile ("mysql"); include $compile_file; ?>
запрос производится плагином, который обрабатывает этот шаблон - мы даём только ссылку на столбец. Хм, вы про что? Про пример? Или вообще про весь шаблонизатор? Ещё раз уточню, что логика представления настраиватся исключительно через скрипты. Качайте архив - там всё написано.
И название странное какое-то Pattern в моём понимании - шаблон проектирования, а то, что в в данном случае называют шаблоном - template. Чем: Код (Text): <!--#if isset_user--> <a href = "index.php?mode=editprofile">Профиль</a> <a href = "index.php?mode=logout">Выход</a> <!--#else isset_user--> <a href = "index.php?mode=register">Регистрация</a> <a href = "index.php?mode=login">Вход</a> <!--#endif isset_user--> лучше: Код (Text): <?if(isset($user)):?> <a href = "index.php?mode=editprofile">Профиль</a> <a href = "index.php?mode=logout">Выход</a> <?else:?> <a href = "index.php?mode=register">Регистрация</a> <a href = "index.php?mode=login">Вход</a> <?endif?> ? Тоже хочу и про циклы спросить.
не обращай внимания, от балды назвал А чем HTML: {if $highlight_name} Welcome, <font color="{$fontColor}">{$name}!</font> {else} Welcome, {$name}! {/if} лучше HTML: <? if ($highlight_name): ?> Welcome, <font color="<? echo $fontColor ?>"><? echo $name ?>!</font> <? else: ?> Welcome, <? echo $name ?> <? endif ?> (c) справка по Smarty Понимаешь, это шаблоны. Их основная цель - разганичивать HTML-код от скриптов обработки, чтобы код не смешивался. Если ты задаёшь такие вопросы, значит, с такой проблемой ты либо не сталкивался, либо не придавал особого значения. Благодаря этому PHP-код становится компактнее и программисту меньше головной боли (да и дизайнеру тоже. Э-э-э, может, я немного не так выразился, но аналогичный подход наблюдается в Sigma из библиотеки PEAR.
Ничем PHP: <?if($highlight_name):?> Welcome, <font color="<?=$fontColor?>"><?=$name?>!</font> <?else:?> Welcome, <?=$name?> <?endif?>