DotDash
@DotDash
•••• • •−•• •−•• −−− •−− −−− •−• •−•• −•• −−••−−

Как сделать ветвление подключения чанков в modx?

Добрый!
Как сделать ветвление подключения чанков в modx evo (Evolution CMS)?

Пытаюсь сделать вариант выбора подключения чанка отдельно для мобильной и десктопной версии
<div class="col-md-12 col-lg-7 d-none d-md-block">
  {{large-block}}
</div>
<div class="col-md-12 col-lg-7 d-block d-md-none">
  {{small-block}}
</div>


При таком подключении конфликт, видимо, подключаются оба чанка.

Как подключать только один чанк?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
@alexalexes
С помощью сниппета if вы можете сделать условие, из какого ресурса подгружать контент в конкретном месте шаблона.
Только вот для выявления мобильного клиента вам понадобиться написать еще один сниппет, в качестве проверяемого условия, чтобы проанализировать свойство user_agent.
ЗЫ: Что-то наподобие такого www.about-cms.com/opredelit-mobilnoe-ustrojstvo-mo... хотя стоит критически относиться к таким реализациям по актуальности методики и по степени костыльности.
function mobile_detect() { 
$user_agent = $_SERVER['HTTP_USER_AGENT']; 
$ipod = strpos($user_agent,"iPod");
$iphone = strpos($user_agent,"iPhone");
$android = strpos($user_agent,"Android");
$symb = strpos($user_agent,"Symbian");
$winphone = strpos($user_agent,"WindowsPhone");
$wp7 = strpos($user_agent,"WP7");
$wp8 = strpos($user_agent,"WP8");
$operam = strpos($user_agent,"Opera M");
$palm = strpos($user_agent,"webOS");
$berry = strpos($user_agent,"BlackBerry");
$mobile = strpos($user_agent,"Mobile");
$htc = strpos($user_agent,"HTC_");
$fennec = strpos($user_agent,"Fennec/");
$nokia = strpos($user_agent,"Nokia");
if ($ipod || $iphone || $android || $symb || $winphone || $wp7 || $wp8 || $operam || $palm || $berry || $mobile || $htc || $fennec || $nokia) 
{
echo "<link rel='stylesheet' media='all' href='mobile.css' type='text/css' />";
} 
else
{
echo "<link rel='stylesheet' media='all' href='desktop.css' type='text/css' />";
}
}
mobile_detect();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы