Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
<table bgcolor="gray" cellspacing=2 border=0 cellpadding=4>
<tr><th colspan="2" bgcolor="silver">{TOPIC}</th></tr>
<!-- BEGIN: item -->
<!-- BEGIN: odd -->
<tr bgcolor="white">
<td>{DATA.NAME}</td><td>{DATA.VAL}</td>
</tr>
<!-- END: odd -->
<!-- BEGIN: even -->
<tr bgcolor="lightyellow">
<td>{DATA.NAME}</td><td>{DATA.VAL}</td>
</tr>
<!-- END: even -->
<!-- END: item -->
</table>
<!-- END: main -->
Рассмотрим шаблон подробнее. Прежде всего отметим, что весь шаблон для XTemplate заключен внутри именованного блока:
<!-- BEGIN: main -->
...
<!-- END: main -->
Это необходимое условие синтаксиса шаблонов XTemplate. Любой блок (и весь шаблон целиком) начинается с конструкции:
<!-- BEGIN: имя_блока -->
И заканчивается конструкцией:
<!-- END: имя_блока -->
Простая подстановка в шаблоне описывается так:
{имя_переменной_для_подстановки}
Там, где логика подсказывает нам сгруппировать данные для подстановки, можно использовать массивы подстановок, описывая их таким образом:
{имя_массива.имя_ключа}
К примеру, это логично сделать при оформлении подстановок значений ячеек табличной строки.
Шаблон описывает HTML-код для вывода данных. Сами данные формируются в программе. На уровне шаблона мы не можем предусмотреть количество элементов нашей таблицы.
Поэтому каждую строку таблицы мы оформим в шаблоне в виде отдельного блока. Это делается для того, чтобы иметь возможность управлять выводом отдельных строк из программы-обработчика:
<!-- BEGIN: item -->
...
<!-- END: item -->
Внутри блока item мы опишем два других блока – «odd» и «even» – для чередования оформления строк. Программа-обработчик, проверяя условие четности строки, будет выбирать нужный блок и управлять генерацией конечного HTML-вывода, формируя содержимое блока item.
В XTemplate вся логика организации циклов и условий ложится на код PHP-программы. В шаблоне описываются только блоки и имена для подстановки значений.
Опишем PHP-код, обрабатывающий этот шаблон:
<?php