Изменения

Перейти к: навигация, поиск

Шаблонизатор VMX::Template/Идеи

431 байт убрано, 19:04, 20 апреля 2013
м
Нет описания правки
Идеи:* HTML-режим, в котором по умолчанию экранируется всё, а чтобы не экранировать или экранировать иначе, нужно специально навесить сверху нужное преобразование, что-то типа <tt>{raw(value)}</tt> или <tt>{js(value)}</tt>. Хотя возможны проблемы с, скажем, JS внутри значения параметров типа onclick.* НЕвключение результата выражения, кроме INCLUDE, внутри <nowiki><!-- директивы --></nowiki>
* Чуть более хитрую обработку пробелов ([%+ и [%- как в TT, режим для обрезания пробелов в начале строки).
* Возможно, возродить авто-переводы?
* Если в коде шаблона очень много инструкций — предупреждение «а не пора бы вам это перенести в код».
* Наследование шаблонов (только сначала определиться, что это вообще такое)
* HTML-режим, в котором по умолчанию экранируется всё, а чтобы не экранировать или экранировать иначе, нужно специально навесить сверху нужное преобразование, что-то типа <tt>{raw(value)}</tt> или <tt>{js(value)}</tt>. Хотя возможны проблемы с, скажем, JS внутри значения параметров типа onclick.
Ни в коем случае:
*: Это возможно, так как шаблонизатор в курсе (большинства) зависимостей частей представления от конкретных элементов данных
* Уметь «переключать» представление на новый объект, также меняя только его части
 
=== Замечание по включениям ===
 
Также имеют особенность: результат этих функций подставляется даже при использовании в директивах. То есть, например, если маркеры директив <tt><nowiki><!-- --></nowiki></tt>, а подстановок <tt><nowiki>{ }</nowiki></tt>, то <tt><nowiki><!-- include(...) --></nowiki></tt> всё равно будет подставлено. Игнорировать результат нужно явно: <tt><nowiki><!-- void include(...) --></nowiki></tt>.

Навигация