Добавление логотипа с возможностью его редактирования в Edit-in-Place (XSLT)

Материал из Umicms
Перейти к:навигация, поиск


Задача: Добавить логотип, который будет отображаться на всех страницах сайта, и сделать его редактируемым с помощью Edit-in-Place.

Реализация:

В административной панели переходим на редактирование главной страницы (отмечена жирным шрифтом), нажимаем на кнопку "Показать расширенные поля" и далее на "Редактировать тип данных". В типе данных находим поле с типом "Изображение", запоминаем идентификатор какого-либо поля, например 'header_pic' и его название. Снова переходим на редактирование главной страницы и ищем поле с названием, которые мы выбрали ранее. Выбираем изображение для этого поля.

Заходим в директорию по FTP, в которой находятся файлы системы. Если присутствует директория templates, то нужно открыть папку /templates/имя_шаблона/xslt. Если нет, то директорию /xsltTpls. В этой папке нужно найти файл шаблонов, в котором присутствуют теги <body></body> (по умолчанию layouts/default.xsl). Между тегами <body> и </body> в то место, где нужно вывести логотип, необходимо добавить следующий код:

<xsl:variable name="logotype" select="document('upage://35')/udata//property[@name='header_pic']/value"/>
<img src="{$logotype}" umi:element-id="35" umi:field-name="header_pic"/>

В первой строке кода мы присваиваем переменной 'logotype' путь до изображения, которое указано в поле для главной страницы. 35 - это id главной страницы (id страницы можно узнать открыв ее на редактирование в административной панели, в адресной строке браузера содержится id текущей страницы).

Во второй строке мы непосредственно выводим сам логотип. Для атрибута umi:element-id="35" нужно указать id страницы, в которой содержится поле, значение которого нужно изменять. Для атрибута umi:field-name="header_pic" - идентификатор поля, значение которого нужно изменять.