Добрый день, уважаемое сообщество!
Возникла проблема с созданием мобильной версии сайта.
Очень много разных views для терминов таксономии (используется taxonomy views integrator). Везде используется не блочные views, а страничные. В этом и проблема. Переделывать на блоки не хочется, ищу более простой вариант.
В гугле нашел один вариант:
function MYMODULE_hook_menu() {
$items['this_crazy_view'] = array(
'title' => 'Title',
'access arguments' => array('access content'),
'page callback' => 'MYMODULE_crazy_view_page',
'type' => MENU_CALLBACK // or MENU_NORMAL_ITEM if you want it to appear in menus as usual
);
return $items; // Forgot to add this orginally
}
function MYMODULE_crazy_view_page() {
global $theme_key;
$view_name = $theme_key == 'foo' ? 'theView' : 'theOtherView';
$display_id = 'page_1'; // Or whatever the page display is called
return views_embed_view($view_name, $display_id);
}
Не знаю как его адаптировать для себя. Дело в том, что здесь используются разные views, а мне нужно сделать для разных страниц вывод, т.е. у меня в одной вьюхе несколько страниц (machine name: page_1, а для мобильных я создал: page_5)
Подскажите, как можно подменить один views на другой для разных версий сайта (для компа и для мобильного устройства)
Если есть более простой вариант, подскажите пожалуйста, а то я иссяк в поисках решения))
Комментарии
Есть конечно варианты разные.
- Часто используют тему responsive, adaptive https://www.drupal.org/search/site/responsive%20adaptive%20theme?f[0]=ss...
- Если требуется вывести разный контент на разных устройствах и действительно нужны например разные блоки и views, можно сделать две отдельные темы - тогда темы будут работать в зависимости от устройства, например - https://www.drupal.org/project/mobile_theme
Это понятно. Но мне нужно переписать вывод views, т.е. вместо views, который используется для ПК, вывести views с меньшим контентом для мобильных устройств. Темизовать каждый вывод views это муторно, нужно что-то чтобы просто его заменить другим.
Заменить другим - это можно через блоки или panels