Дублирование тегов в UMI CMS

В некоторых версиях сайтов на UMI CMS вы можете столкнуться с дублированием тегов. Обычно речь идет о дублировании одиночныйх тегов, таких как BR ил HR. Но иногда это проявляется еще и по-другому.

Симптомы

Например, вы можете заметить, что после редактирования в режиме Edit-In-Place у вас в тексте появляются дополнительные строчки. Ну то есть пространство между абзацами может увеличиваться.

В некоторых случаях может быть такое, что вы заметите закрывающие теги META или LINK, что в общем-то делает ваш код невалидным по версии W3C.

Некоторые из этих ошибок не слишком напрягают, но иногда это становится настоящей проблемой, например если вместо одного HR вдруг появляется 2.

Причины

Причина появления лишних символов в итоговой верстке на шаблоне XSLT в ЮМИ, к сожалению, не очевидна. Но она есть- это спецификация, которая не соответсвует выводимому контенту. Обычно такое поведение наблюдается на UMI CMS из клауда или в ЮМИ, созданной на базе стандартного шаблона demodizzy.

Решение

Для устранения проблемы дублирования и автозакрытия тегов необходимо в тегах xsl:stylesheet удалить объявление xmlns="http://www.w3.org/1999/xhtml". Это нужно сделать во всех без исключения местах, которые вы используете в верстке. В противном случае, вы рискуете получить дублирующие теги в самый непредсказуемый момент.

Пример как неправильно

<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/TR/xlink" exclude-result-prefixes="xsl xlink">

Пример как правильно

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/TR/xlink" exclude-result-prefixes="xsl xlink">

Надеюсь, что эта информация окажется полезной.

Задавайте вопросы в комментариях, отписывайтесь об интересующих вас темах и будьте в курсе всех тонкостей разработки на UMI CMS.

Простой и понятный online-курс для обучения XSLT-программиста с любого базового уровня

Ваш отзыв