Цитата:
|
1. proto может быть только один?
|
Сколько угодно, но имя должно быть уникально в рамках шаблона, внутрь также можно включать другие прототипы и блоки, есть ещё анонимные прототипы - они нужны когда просто нужно сделать рекурсию (которая кстати, оптимизируется), но не хочется вводить именованный элемент. Размещать прототипы (как и вызываемые блоки) можно как в шаблоне, так и вне до декларации шаблона, к которому они принадлежат, можно выносить в отдельный файл.
{proto foo->some(a, b)}
{a + b}
{/}
{template foo()}
{proto bar(a)}
{a * 2}
{/}
{apply some(1, 2)} /// 3
{apply bar(2)} /// 4
{/}
Цитата:
|
2. block или blocks? В чем отличия или это опечатка?
|
Опечатка, есть только
block.
Цитата:
|
Фильтры клева. Немного чудно, что !html отменяет html, который задается неявно, но клева
|
Следует помнить, что фильтры можно применять почти в любых директивах, т.е. этот механизм пронизывает всю шаблонку.
{var a = ' fooo '|trim}
{if ' fooo '|trim}
и т.д.
Если нужно наложить фильтр на определённую часть выражения, а не на всю, то нужно выделить её скобками.
{var a = (' ffffuuu '|trim) + ' bar '}
Но фильтр !html можно применять только глобально.
PS: на меня тут гора дел навалилась, поэтому не смог сделать релиз как обещал
Буду стараться к концу этой недели сделать.