Мобильная версия сайта
Привет всем. Вопрос тем кто работал с копмонентом Mobile Detection
Тестирую компонент Mobile Detection, для моб. версии сайта. Отличный компонент, но хотелось бы чтобы была возможность заходить на моб. версию сайта самостоятельно.
То есть компонент работает, только если зайти на сайт с телефона, тогда моб версия активируется. Если перейти site.com/?browser=mobile на стационарном компе, он не включает моб версию.
Может кто знает, как сделать чтобы можно было путешествовать из мобильной версии в обчную без проблем?
Решение под катом
Решение по мобильной версии:
Качаем компонент tagstemplate-0.0.1-beta.transport.zip.
Переименовываем его соответственно в tagstemplate-0.0.1-beta.transport.zip
Pаливаем на сервер в папку /core/packeges/
Устанавливаем
В шаблоне все что будет мобильной версией заключаем в тэги
все что обычная версия сайта в тэги
Можно также добавить версию для слабовидящих заключив ее в тэги
UPD 25.12.2014:
Выводить чанки версий сайта лучше так:
/?theme=mobile — адрес для мобильной версии
/?theme=blind — адрес для версии для слабовидящих
/?theme=normal — обычная версия
Автор плагина: Виктор
Тестирую компонент Mobile Detection, для моб. версии сайта. Отличный компонент, но хотелось бы чтобы была возможность заходить на моб. версию сайта самостоятельно.
То есть компонент работает, только если зайти на сайт с телефона, тогда моб версия активируется. Если перейти site.com/?browser=mobile на стационарном компе, он не включает моб версию.
Может кто знает, как сделать чтобы можно было путешествовать из мобильной версии в обчную без проблем?
Решение под катом
Решение по мобильной версии:
Качаем компонент tagstemplate-0.0.1-beta.transport.zip.
Переименовываем его соответственно в tagstemplate-0.0.1-beta.transport.zip
Pаливаем на сервер в папку /core/packeges/
Устанавливаем
В шаблоне все что будет мобильной версией заключаем в тэги
все что обычная версия сайта в тэги
Можно также добавить версию для слабовидящих заключив ее в тэги
UPD 25.12.2014:
Выводить чанки версий сайта лучше так:
<normal>
[[!$[[!#COOKIE.ttTemplate:is=`normal`:or:is=``:or:if=`[[!#GET.theme]]`:is=`normal`:then=`.n.front`:else=``]]]]
</normal>
<mobile>
[[!$[[!#COOKIE.ttTemplate:is=`mobile`:or:if=`[[!#GET.theme]]`:is=`mobile`:then=`.m.front`:else=``]]]]
</mobile>
<blind>
[[!$[[!#COOKIE.ttTemplate:is=`blind`:or:if=`[[!#GET.theme]]`:is=`blind`:then=`.b.front`:else=``]]]]
</blind>
Чтобы не рендерилось 3 чанка сразу, а выбирался нужный./?theme=mobile — адрес для мобильной версии
/?theme=blind — адрес для версии для слабовидящих
/?theme=normal — обычная версия
Автор плагина: Виктор
Поблагодарить автора
Отправить деньги
Комментарии: 28
там вроде ?browser=mobi
Вообще у меня лежит допиленный под свои нужны Mobile Detection… но пока не до конца собранный в пакет((
Если интересно плагин на событие OnWebPagePrerender и обновленный mdetect в assets/components/tagstemplate.
Можно пакет скомпилировать и он тоже будет работать, но хочу параметры вынести из плагина, зачем то… видимо для опыта)
Вообще у меня лежит допиленный под свои нужны Mobile Detection… но пока не до конца собранный в пакет((
Если интересно плагин на событие OnWebPagePrerender и обновленный mdetect в assets/components/tagstemplate.
Можно пакет скомпилировать и он тоже будет работать, но хочу параметры вынести из плагина, зачем то… видимо для опыта)
Ой оказывается я их уже вынес и просто не сбросил коммит ;)))
щас проверю отпишусь
щас проверю отпишусь
Проверил, компонент нормально работает. параметры в настройках системы задавать)
s265.h1.simpledream.ru/?theme=mobile
Скомпилированный пакет
Странно, zip заливается на modx.pro дает ссылку на файл, но нерабочую.
Тогда уж сами компильте, кому надо
s265.h1.simpledream.ru/?theme=mobile
Странно, zip заливается на modx.pro дает ссылку на файл, но нерабочую.
Тогда уж сами компильте, кому надо
Странно, zip заливается на modx.pro дает ссылку на файл, но нерабочую.Поправил, вот верная ссылка.
После закачки нужно переименовать файл в tagstemplate-0.0.1-beta.transport.zip.
Отличный компонент, спасибо.
Хммм помниться прошлой зимой, пришлось пилить самому плагин на переключения шаблона а тут уже приложение есть норм.)) Раньше пакет модмобайл был но он умер…
Василий, а вызов мобильной версии перепишет кеш десктопной или нет?.. На сколько я вникал в это дело народ в основном боролся за то что бы хранить паралельно кеши для разных устройств
У меня было как, то так чтобы держать 2 кеша паралельно
У меня было как, то так чтобы держать 2 кеша паралельно
switch ($modx->event->name) {
case 'OnWebPageInit':{
require_once($modx->getOption('core_path').'components/modMobileSite/model/detectmobile.class.php');
$mobileDetector= new DetectMobile($modx, $scriptProperties);
session_start();
if(!isset($_GET['switcher'])) {
$_SESSION['devise_type'] = $mobileDetector->detect_Mobile();
} else {
$_SESSION['devise_type'] = $_GET['switcher'];
}
if($_SESSION['devise_type']) {
$modx->setOption('cache_resource_key', 'resource/'.$mobile_cache_key = $modx->getOption('mobile_cache_key',$config,'mobile'));
$modx->setOption('mobile_detected', true);
}
break;
}
case 'OnLoadWebDocument':{
if ($modx->getOption('mobile_detected')) {
$mobile_tpl_prefix = $modx->getOption('mobile_tpl_prefix',$config,'mobile');
//получаем список стандартных шаблонов иделаем мпасив шаблон->моб.шаблон
foreach ( explode(",",$modx->getOption('modSite_tpls')) as $key=>$value) {
$tpls_arr[$value]=$mobile_tpl_prefix.'.'.$value;
};
//получаем объект текущего ресурса и его шаблона
$tpl_id = $modx->resource->get('template');
$tpl_object = $modx->getObject('modTemplate',array('id'=>$tpl_id));
//проверка на то какая версия шаблона установлена сейчас - если текущий шаблон вернул мобильный шаблон то ставим мобильную версию
if($mobile_tpl_name=$tpls_arr[$tpl_object->templatename]) {
$mobile_tpl_object = $modx->getObject('modTemplate',array('templatename'=>$mobile_tpl_name));
$modx->resource->set('template',$mobile_tpl_object->id);
}
}
break;
}
}
По идее, да — перепишет.
Можно заменить системный modRequest своим, чтобы раскладывать кэш раздельно для обычной и мобильной версии. Вот этот метод надо расширить — он управляет загрузкой ресурса из кэша или БД.
Можно заменить системный modRequest своим, чтобы раскладывать кэш раздельно для обычной и мобильной версии. Вот этот метод надо расширить — он управляет загрузкой ресурса из кэша или БД.
Как настроить ЧПУ для этих линков
Через файл htaccess
Знаю что за это отвечает htaccess 2 часа перебор символов так и не смог найти правленый вариант!
За модуль спасибо! Все работает!
За модуль спасибо! Все работает!
Выводить чанки версий сайта лучше так:
Не делайте так, будут проблемы с доступом для ботов (индексацией)
Почему?
Обдумал еще раз — возможно я сам виноват и пропустил условие ":or:is=``" в результате чего при неустановленной куке отдавалась пустая страница
Все таки тут что-то неладное. Проверяю этим
developers.google.com/speed/pagespeed/insights/
developers.google.com/speed/pagespeed/insights/
<mobile>
[[!$[[!#COOKIE.ttTemplate:is=`mobile`:or:if=`[[!#GET.theme]]`:is=`mobile`:then=`.m.front`:else=``]]]]
</mobile>
вот это условие. Если Зашли с мобильного устройства, но в то же время кука еще не установлена и ГЕТ тоже не установлен — то получим пустую страницу
Беда=)
<normal>
[[!$[[!#COOKIE.ttTemplate:is=`normal`:or:is=``:or:if=`[[!#GET.theme]]`:is=`normal`:then=`.n.front`:else=``]]]]
</normal>
Чёт у меня пустую страницу выводит. Кроме tagstemplate никакого больше плагина устанавливать не надо?
pdotools
так как используется пдо парсер
так как используется пдо парсер
Так он как бы установлен. Или включать эксперементальный парсер?
да, он должен быть вкл
Действительно. Правда перестал работать MinifyX и tickets не подгружает на страницу ссылки типа
tickets/js/web/default.js
Да, сталкивался с такой проблемой, все скрипты вручную пришлось добавить. Так и не решил
Вот почему у меня Tickets отвалился (
Ребят, столкнулся сейчас тоже с версткой мобильной версии для своего сайта. Установил mobile detection, все отлично работает. Вопрос только вот по кешу остался у меня, может кто поделится решением? а то не очень гуд если будет рендериться каждый раз. Спасибо.
P.S. Хочу сделать еще кнопку при просмотре мобильной версии (полная версия сайта) насколько понимаю параметр будет в cookie записываться думаю писать под это дело свой сниппет, но такое чувство что здесь уже все написано, нужно только разобраться.
P.S. Хочу сделать еще кнопку при просмотре мобильной версии (полная версия сайта) насколько понимаю параметр будет в cookie записываться думаю писать под это дело свой сниппет, но такое чувство что здесь уже все написано, нужно только разобраться.
Спасибо огромное. Насколько я понял теперь в самом плагине все встроено и не нужно tagstemplate-0.0.1-beta.transport.zip. устанавливать. Качал из управления пакетами этот плагин, там нет настроек которые на скрине из вашего репозитория. Сейчас установлю версию предложеную вами. Спасибо еще раз большое.
Это разные дополнения, моё было сделано позже.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.