Слайдер на всех страницах сайтах (bxslider) XSLT

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


Задача: Реализовать вывод слайд-шоу на всех страницах сайта, путем интеграции стороннего слайдера bxslider с системой UMI.CMS.

Реализация:

В модуле "Шаблоны данных" создадим два подтипа (дочерний тип) типа данных "Страница контента":

  • Первый тип данных: Название типа - "Слайдер". В данном типе данных создадим группу полей "Настройки слайдера", в котором должны присутствовать следующие поля:
    • Поле "Автоматической переключение" типа "Кнопка-флажок" с идентификатором slider_auto
    • Поле "Случайный слайд" типа "Кнопка-флажок" с идентификатором slider_random
    • Поле "Отображать надписи" типа "Кнопка-флажок" с идентификатором slider_captions
  • Второй тип данных: Название типа - "Элемент слайдера". В данном типе данных создадим группу полей "Слайдер", в котором должны присутствовать следующие поля:
    • Поле "Изображение" типа "Изображение" с идентификатором slider_item_image
    • Поле "Ссылка для элемента" типа "Строка" с идентификатором slider_item_link и форматом значения Web-адрес


В модуле "Структура" добавим страницу с именем "Слайдер" и выберем для нее тип данных "Слайдер". Для страницы "Слайдер" добавим подстраницы и выберем для каждой из них тип данных "Элемент слайдера". Каждая добавленная подстраница будет являться отдельным слайдом. Для поля "Изображение" нужно выбрать картинку для отдельного слайда, в поле "Ссылка для элемента" - ссылку, по которой будет осуществляется переход при нажатии на картинку слайда.

Далее, в файл classes\modules\custom.php добавим определение двух макросов: getSliderItems() и bxSlider().

  • getSliderItems($parent_id, $template = "default") - возвращает данные для верстки блока слайдера (id страницы "Слайдер")
  • bxSlider($parent_id) - возвращает скрипт для работы слайдера с установленными настройками