Инструменты пользователя

Инструменты сайта


limb3_2007_4:ru:packages:wact:errors_and_debug

Отладка шаблонов

Ошибки компиляции шаблонов

Шаблонная система способна с большинстве случаев самостоятельно находить многие ошибки в шаблонах.

Какие ошибки считаются фатальными при компиляции шаблонов:

  • Несбланансированность шаблонов, то есть наличие открывающего тега и отсутствие соответствующего закрывающего.
  • Отсутствие обязательных атрибутов в тегах
  • Правильную вложенность тегов, например, нельзя использовать <list:item> вне тега <list:list>
  • Дублирование атрибута id, то есть наличие друх тегов с одиниковыми значениями атрибута id. Это правило применяется к дочерним элементам одного родительского тега, который распознается как WACT-тег.
  • Неправильные имена файлов с тегах <core:include> и <core:wrap>.
  • Использование несуществующих фильтров в выражениях.
  • прочие.

В случае ошибки шаблонизатор сгенерирует ошибку с указанием файла, тега, строки, где есть ошибка, и ее описания.

Словари тегов и фильтров

Если вам кажется, что шаблон написан верно, однако что-то выводится неправильно, проверьте, а отработали ли ваши теги. Быть может быть по какой-либо причине WACT еще не нашел описание тега. Дело в том, что WACT не будет «ругаться», если в шаблоне ему встретится незнакомый тег - он его воспримет как обычный HTML тег и оставит после компиляции «как есть». Иногда причина в том, что словари тегов (и других элементов шаблонов) кешируются. Обычно кеш словарей лежит в папке /var/compiled вашего приложения. Попробуйте удалить кеш и перекомпилировать шаблон еще раз.

Теги, полезные при отладке

WACT содержит теги, которые могут быть полезными при отладке шаблонов:

  • <dev:source> - выводит кусок скомпилированного кода куска шаблона, заключенного в рамки тега. Удобен при разработке новых тегов.
  • <dev:dataspace> - выводит содержимое контейнера данных, в котором находится тег. Позволяет видеть, какие переменные есть в контейнере данных. Правда от этого тега пока не слишком много пользы в случае, когда вы выводите данные из контейнера данных, источником для которого является база данных. В этом случае отображается все сразу - объект подключения, параметры и многое другое.

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   ___    __ __   ___    __ __   __ __
  / _ \  / //_/  / _ )  / // /  / //_/
 / // / / ,<    / _  | / _  /  / ,<   
/____/ /_/|_|  /____/ /_//_/  /_/|_|
 
limb3_2007_4/ru/packages/wact/errors_and_debug.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)