Вывод блока по условию

Главные вкладки

Аватар пользователя morgusha morgusha 22 августа 2018 в 14:58

Подскажите пожалуйста как сделать !
Есть блок который выводи текст. Этот блок выведен не кодом,а через админку в позицию. Необходимо сделать так чтобы в мобильной версии данный блок бы не выводился. Проверка на мобильное устройство сделано в файле template.php туда вставлен такой вот код:

<?php
function check_mobile_device() { 
    
$mobile_agent_array = array('ipad''iphone''android''pocket''palm''windows ce''windowsce''cellphone''opera mobi''ipod''small''sharp''sonyericsson''symbian''opera mini''nokia''htc_''samsung''motorola''smartphone''blackberry''playstation portable''tablet browser');
    
$agent strtolower($_SERVER['HTTP_USER_AGENT']);    
    
// var_dump($agent);exit;
    
foreach ($mobile_agent_array as $value) {    
        if (
strpos($agent$value) !== false) return true;   
    }       
    return 
false
}
?>

как подцепить данное условия в поле Страницы, на которых данный PHP-код возвращает TRUE (только для опытных пользователей)
спасибо !

Комментарии

Аватар пользователя Semantics Semantics 22 августа 2018 в 15:23

Вот и убивайте ненужные блоки или регионы из template.php.
Условие это внутрь блока вы не прокинете.

В лучшем случае, в препроцессе сможете получить какой оно у вас статус имеет.

Но честно говоря, такой подходит очень плохо пахнет в любой реализации

Аватар пользователя fairrandir fairrandir 22 августа 2018 в 15:36

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

Аватар пользователя sas@drupal.org sas@drupal.org 23 августа 2018 в 9:28
1

Можно автоматически переключится на разные темы с разными блоками https://www.drupal.org/project/mobile_switch
Можно использовать одну тему но разное отображение на разной ширине девайса, например через https://www.w3.org/TR/css3-mediaqueries/

Аватар пользователя morgusha morgusha 23 августа 2018 в 10:45

я понял. спасибо ! Но уже все сделал на основе той функции проверки на моб устройство. переделывать не хочется !