Мобильная версия шаблона блока или страницы

Материал из Umicms
Версия от 12:39, 17 сентября 2018; Axlab (обсуждение | вклад) (Новая страница: «'''Актуально для версии 18''' При использовании PHP-шаблонизатора, возможно создать мобильн…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

Актуально для версии 18

При использовании PHP-шаблонизатора, возможно создать мобильную версии шаблона, для этого достаточно добавить папку mobile в корне вашего шаблона.

Автоматический режим

В папке с шаблоном создадим файл /php/content/content.phtml:

<?php $page = $variables['page']; ?>

<h1>Is desktop page</h1>
<?= $page->getValue('content') ?>

Также создадим файл /php/mobile/content/content.phtml:

<?php $page = $variables['page']; ?>

<h1>Is mobile page</h1>
<?= $page->getValue('content') ?>

Для примера используем только шаблон контента в основном файле шаблона:

<?= $this->render($variables, "{$variables['module']}/{$variables['method']}") ?>

Теперь, зайдя с мобильного устройства отобразится шаблон мобильной версии сайта.
При использовании $this->render система будет искать шаблон в папке mobile, при заходе с мобильного устройства.

Ручной режим

В PHP-шаблонизаторе также можно использовать функцию isMobile:

В файле шаблона /php/content/content.phtml добавим следующую строку:

<?php if($this->isMobile()){ ?> <div>Этот блок появится только в мобильной версии сайта.</div> <?php } ?>

При этом важно, чтобы в корне шаблона не было папки mobile, т.к. автоматический режим более приоритетный.