WACT позволяет вставлять любой php-код в шаблоны, например:
<select name='my_selector'> <?php foreach($items as $item) { echo '<option value="'. $item['value'] . '" '; if(some_condition()) echo 'selected'; echo '>'. $item['title'] .'</option>'; } ?> </select>
Корневой компонент (корень дерева фазы выполнения) доступен в этих вставках в виде переменной $template.
Поэтому вы можете в самом шаблоны выполнять функции получения и анализа данных, например:
<?php $items = lmbActiveRecord :: find('Items'); $list = $template->getChild('data'); $list->registerDataset($items); ?> <list:list id='data'> <ul> <list:item> <li>{$title}</li> </list:item> </ul> </list:list>
Заметим, что мы стараемся не использовать в шаблонах php-код, так как это может заметно усложнить шаблоны для верстальщиков и привести к смешению в шаблонах бизнес-логики и логики отображения.
Обсуждение