UMI.CMS: Создаем страницы с контентом и макросами

Данный урок посвящен созданию страниц и добавлению контента, включая вывод различных элементов, таких как формы обратной связи или новости, с использованием макросов, запросов и API печки шаблонизатора.

Подготовка к работе

Для начала необходимо зайти на сервер и открыть основную папку проекта. В данном примере это папка borg. Внутри неё находится папка templates/demo/diesel/, содержащая файл default.html. С этим файлом мы будем работать, изменяя его содержимое. Параллельно рекомендуется открыть документацию UMI.CMS.

Модуль «Структура и контент»

Модуль «Структура и контент» использует шаблоны из каталога templates/content (корневая папка проекта). Он обеспечивает древовидную структуру сайта, вывод меню и карты сайта. Поставляется с шаблонами по умолчанию. Основные функции модуля описаны ниже.

Функции модуля

  • getContent(): выводит страницы по их пути. Функция предназначена для печки шаблонизатора.
  • contentMenu(): выводит меню сайта по определённому шаблону. На сайте уже присутствуют верхнее и нижнее меню.

Найдите описание contentMenu() в документации и скопируйте код для PHP-шаблонизатора. Вставьте его в конец файла default.html, перед закрывающим тегом </body>. Сохраните изменения и обновите страницу.

Вывод меню и макросы

После выполнения предыдущего шага на странице появится верхнее меню («Обзоры», «Новинки техники», «Вопросы-ответы», «Блог»). Это ссылки из верхнего меню, выведенные с помощью contentMenu(). Для изменения меню откройте файл templates/content/menu/top.html.

Макросы UMI.CMS

Далее рассмотрим основные макросы для работы с контентом.

redirect

Макрос redirect перенаправляет пользователя на другую страницу. Для использования вставьте {$content.redirect url="http://google.com"} в начало файла default.html. Обновление страницы вызовет перенаправление на Google. Полезна при смене домена.

sitemap, accountCloud, getAvailableModes()

  • sitemap: выводит карту сайта.
  • accountCloud: выводит облако тегов.
  • getAvailableModes(): получает список режимов отображения сайта (мобильная версия, версия для ПК).

Вставьте {$content.getAvailableModes()} в файл default.html, после открывающего тега <body>. Результат — вывод массива доступных режимов. Пример доступа к ссылке мобильной версии: {$content.getAvailableModes().items.0.items.0.link}. С помощью redirect можно перенаправить пользователя на мобильную версию.

getRecentlyViewed()

getRecentlyViewed() выводит список последних просмотренных страниц. Добавим его в отдельный блок:

<div style="margin-top: 20px;">
    {$content.getRecentlyViewed()}
</div>

Список отобразится после просмотра других страниц сайта.

tList (Новости)

tList выводит список последних новостей. Код находится в templates/news/rightcolumn.html. Скопируйте и вставьте его в default.html. Добавление новостей происходит в административной панели UMI.CMS.

links (Связанные новости)

links выводит список связанных с указанной новостей. Использование аналогично другим макросам.

webForms (Форма обратной связи)

webForms выводит форму обратной связи из папки templates/webforms/. Используйте {$content.webForms formId="ваш_идентификатор"}, заменив ваш_идентификатор на ID формы.

В этом уроке рассмотрены основные макросы модуля «Структура и контент» для создания и наполнения страниц в UMI.CMS. Более подробная информация доступна в документации UMI.CMS.

Что будем искать? Например,программа