Прежде всего нужно понимать, что MACRO компилирует шаблон в обычный php-класс. Поэтому MACRO позволяет вставлять любой php-код в шаблоны, например:
<select name='my_selector'> <?php foreach($this->items as $item) { echo '<option value="'. $item['value'] . '" '; if(some_condition()) echo 'selected'; echo '>'. $item['title'] .'</option>'; } ?> </select>
Единственный момент - нужно понимать, что тот код, котоырый вы пишете, будет находится в одном из методов сгенеренного класса. То, в каком именно методе, зависит частично от использования тегов {{include}}, {{wrap}} и {{into}}. Поэтому, если данные нужны только здесь и сейчас, можно в php-блоках использовать локальные переменные,а если данные нужно везде - переменные-атрибуты сгенеренного класса шаблона.
Обсуждение