Как дебажить XSLT — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 4 промежуточные версии этого же участника)
Строка 6: Строка 6:
  
 
===Решение===
 
===Решение===
Используя XSLT шаблонизатор, порой, не сразу удается найти файл, который отвечает за тот или иной блок на сайте.
 
  
===С помощью утилиты Folder Find Text===
 
Для дебага XSLT рекомендуем установить утилиту FolderFindText или аналогичную, с ее помощью можно рекурсивно искать необходимое сочетание символов в указанной папке, подробнее останавливаться на поиске по папке не будем. Таким образом, мы получили возможность находить необходимые файлы.
 
  
Иногда бывает так, что, по результатам поиска, подходящих файлов больше, чем 1. В таком случае можно открывать файл, находить нужное место и вставлять для HTML тега атрибут:
+
====С помощью вывода значения переменной====
<source lang='xslt'>
+
Для выведения переменной можно воспользоваться следующей конструкцией, где в select необходимо указать переменную, которую хотим вывести на экран:
test="test"
 
</source>
 
После сохранения результата, можно посмотреть через инструменты разработчика, появился атрибут в теге, или нет. Если появился — отлично — это верный маркер того, что мы нашли нужное место. Теперь можно приступать к редактированию кода (подробнее на редактировании кода останавливаться не будем, так как эта тема весьма обширна и не выходит за рамки данной статьи).
 
 
 
===С помощью вывода значения переменной===
 
После нахождения файла, можно приступать к непосредственной отладке. Для выведения переменной можно воспользоваться следующей конструкцией, где в select необходимо указать переменную, которую хотим вывести на экран:
 
 
<source lang='xslt'>
 
<source lang='xslt'>
 
<p>
 
<p>
  <xsl:value-of select=" " />
+
  <xsl:value-of select=" " />
 
</p>
 
</p>
 
</source>
 
</source>
  
===Используя встроенный в систему режим дебага===
+
====Используя встроенный в систему режим отладки====
 
Также, дебажить XSLT удобно с включенным режимом дебага (включить его можно в файле config.ini -> секция debug). При таком подходе система сама сообщит, в каком файле проблема. Может получиться так, что проблема появляется до передачи данных в файл, тогда необходимо последовательно проверять схему работы данного участка кода.
 
Также, дебажить XSLT удобно с включенным режимом дебага (включить его можно в файле config.ini -> секция debug). При таком подходе система сама сообщит, в каком файле проблема. Может получиться так, что проблема появляется до передачи данных в файл, тогда необходимо последовательно проверять схему работы данного участка кода.
 
===Результат===
 
Как итог имеем четкое понимание того, в каком именно месте искать причину ошибки.
 
  
 
  [[category:Решение проблем и ошибок]]
 
  [[category:Решение проблем и ошибок]]

Текущая версия на 08:20, 1 октября 2019

Актуально для версии 20


Задача

Разобраться, каким образом можно дебажить XSLT.

Решение

С помощью вывода значения переменной

Для выведения переменной можно воспользоваться следующей конструкцией, где в select необходимо указать переменную, которую хотим вывести на экран:

<p>
 <xsl:value-of select=" " />
</p>

Используя встроенный в систему режим отладки

Также, дебажить XSLT удобно с включенным режимом дебага (включить его можно в файле config.ini -> секция debug). При таком подходе система сама сообщит, в каком файле проблема. Может получиться так, что проблема появляется до передачи данных в файл, тогда необходимо последовательно проверять схему работы данного участка кода.