Дублирование тегов в 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.

4 комментария на «Дублирование тегов в UMI CMS»

  1. Алексей пишет:
    10 Сен 2021 в 16:55

    Спасибо. Осталась одна проблема. Что делать thumbnails.xsl
    Изменить теги не получается, сайт сразу падает.

    Валидатор выкидывает все теже ошибки

    Error: Attribute xmlns:umi not allowed here.

    <img xmlns:umi="http://www.umi-cms.ru/TR/umi&quot; src="/images/cms/thumbs/c434****

    При этом подставляет xmlns:umi в изображения

    • Чтобы убрать umi из выдачи нужно поставить в config.ini clean-eip-attributes = «1».

      • Alexey пишет:
        11 Сен 2021 в 8:05

        clean-eip-attributes уже стоял 1
        в xls

        xsl:stylesheet version=»1.0″ xmlns:xsl=»http://www.w3.org/1999/XSL/Transform» xmlns:umi=»http://www.umi-cms.ru/TR/umi»

        xmlns:umi из тега убрать не дает

    • Если версия ЮМИ старая, то clean может не до конца чистить аттрибуты. Дальше пошли угадывания типа «а может вот это, а может вот это». Я рекомендую в вашем конкретном случае разбираться уже в деталях, забираясь в системный код и рассматривая как функции работают именно у вас

Ваш отзыв