Отладка шаблонов
Ошибки компиляции шаблонов
Шаблонная система способна с большинстве случаев самостоятельно находить многие ошибки в шаблонах.
Какие ошибки считаются фатальными при компиляции шаблонов:
Несбланансированность шаблонов, то есть наличие открывающего тега и отсутствие соответствующего закрывающего.
Отсутствие обязательных атрибутов в тегах
Правильную вложенность тегов, например, нельзя использовать <list:item> вне тега <list:list>
Дублирование атрибута id, то есть наличие друх тегов с одиниковыми значениями атрибута id. Это правило применяется к дочерним элементам одного родительского тега, который распознается как WACT-тег.
-
Использование несуществующих фильтров в выражениях.
прочие.
В случае ошибки шаблонизатор сгенерирует ошибку с указанием файла, тега, строки, где есть ошибка, и ее описания.
Словари тегов и фильтров
Если вам кажется, что шаблон написан верно, однако что-то выводится неправильно, проверьте, а отработали ли ваши теги. Быть может быть по какой-либо причине WACT еще не нашел описание тега. Дело в том, что WACT не будет «ругаться», если в шаблоне ему встретится незнакомый тег - он его воспримет как обычный HTML тег и оставит после компиляции «как есть». Иногда причина в том, что словари тегов (и других элементов шаблонов) кешируются. Обычно кеш словарей лежит в папке /var/compiled вашего приложения. Попробуйте удалить кеш и перекомпилировать шаблон еще раз.
Теги, полезные при отладке
WACT содержит теги, которые могут быть полезными при отладке шаблонов:
<dev:source> - выводит кусок скомпилированного кода куска шаблона, заключенного в рамки тега. Удобен при разработке новых тегов.
<dev:dataspace> - выводит содержимое контейнера данных, в котором находится тег. Позволяет видеть, какие переменные есть в контейнере данных. Правда от этого тега пока не слишком много пользы в случае, когда вы выводите данные из контейнера данных, источником для которого является база данных. В этом случае отображается все сразу - объект подключения, параметры и многое другое.
Обсуждение