Данный урок посвящен созданию страниц и добавлению контента, включая вывод различных элементов, таких как формы обратной связи или новости, с использованием макросов, запросов и 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.