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