13 636
правок
Изменения
→Реализация
== Реализация ==
Маркера начала и конца кода <!-- --> и подстановки { } могут быть заменены любыми другими. Если, например, вы привыкли к TT, можно установить [% %].
Путь к переменной теперь может включать в себя числа. Это будут обращения к элементам массивов, в то время как всё остальное — обращения к элементам хешей.
Вне блока {block} будет иметь значение ARRAY(0x…) , то есть массив всех итераций блока block, а {block.0} будет иметь значение HASH(0x…), то есть первую итерацию блока block.
<pre><!-- BEGIN block --></pre>
<pre><!-- END block --></pre>
На <nowiki><!-- END другоеимя --></nowiki> после <nowiki><!-- BEGIN block --></nowiki> шаблонизатор выдаст ошибку, «ибо нефиг» (c). Если block в хеше данных — не массив, а хеш — это значит, что итерация у блока только одна, и тогда <nowiki><!-- BEGIN block --></nowiki> работает как for($expression) {} в Perl.
<pre><!-- IF OR(function(block.key1),AND(block.key2,block.key3)) --></pre>
<!-- function(block.key) -->
<!-- function block.key -->
{block.key/Ls}{L s block.key}
</pre>
<!-- IF NOT block.key -->...<!-- END -->
</pre>
ELSIF эквивалентно ELSE IF и ELSEIF.
Запись значения переменной: