Мобильная версия шаблона блока или страницы — различия между версиями
Whoa (обсуждение | вклад)  | 
				Whoa (обсуждение | вклад)   | 
				||
| Строка 3: | Строка 3: | ||
'''Актуально для версии 18.'''  | '''Актуально для версии 18.'''  | ||
| − | При использовании PHP-шаблонизатора  | + | При использовании PHP-шаблонизатора возможно создать мобильную версию шаблона. Для этого достаточно добавить папку mobile в корне вашего шаблона.    | 
== Автоматический режим ==  | == Автоматический режим ==  | ||
| Строка 28: | Строка 28: | ||
</source>  | </source>  | ||
| − | Теперь  | + | Теперь зайдя с мобильного устройства, отобразится шаблон мобильной версии сайта.<br>  | 
| − | При использовании '''$this->render''' система будет искать шаблон в папке mobile  | + | При использовании '''$this->render''' система будет искать шаблон в папке mobile при заходе с мобильного устройства.  | 
== Ручной режим ==  | == Ручной режим ==  | ||
Версия 13:25, 17 сентября 2018
Статья предоставлена партнером UMI.CMS Артемом Войсковичем
Актуально для версии 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, т.к. автоматический режим более приоритетный.