В выходном шаблоне должны присутствовать только использующиеся set блоки. В случае если хотя бы один get блок был объявлен с select, тогда оптимизация не будет выполнена.
В данном случае, в коде шаблона будет присутствовать блок set с именем bar. Теперь представим шаблон utils.xml, который напичкан сотней set блоков, и это файл включается в каждый шаблон, отправляемый клиенту. Клиент, получает огромное количество ненужного никому кода.
Для решения данной проблемы было сделано следующее. Код генерируется секционно. Блок set закрывает текущую безымянную секцию и открывает новую именованную (по значению атрибута name). По выходу из именованной секции создается новая безымянная. При сборке шаблона остаются только безымянные секции и именные секции, которые были упомянуты в блоках get.
В выходном шаблоне должны присутствовать только использующиеся
set
блоки. В случае если хотя бы одинget
блок был объявлен сselect
, тогда оптимизация не будет выполнена.Пример:
В данном случае, в коде шаблона будет присутствовать блок
set
с именемbar
. Теперь представим шаблон utils.xml, который напичкан сотней set блоков, и это файл включается в каждый шаблон, отправляемый клиенту. Клиент, получает огромное количество ненужного никому кода.Для решения данной проблемы было сделано следующее. Код генерируется секционно. Блок
set
закрывает текущую безымянную секцию и открывает новую именованную (по значению атрибутаname
). По выходу из именованной секции создается новая безымянная. При сборке шаблона остаются только безымянные секции и именные секции, которые были упомянуты в блокахget
.