Мобильная версия шаблона блока или страницы — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
Строка 1: Строка 1:
'''Статья предоставлена партнером UMI.CMS [https://www.umi-cms.ru/find_webdevs/axlab/ Артемом Войсковичем]'''
+
'''Статья предоставлена партнером UMI.CMS [https://www.umi-cms.ru/find_webdevs/axlab/ веб-студией AxLab]'''
  
 
'''Актуально для версии 18.'''
 
'''Актуально для версии 18.'''

Текущая версия на 13:59, 17 сентября 2018

Статья предоставлена партнером UMI.CMS веб-студией AxLab

Актуально для версии 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, т.к. автоматический режим более приоритетный.