druuum1

Переключение на другой шаблон для мобильных

Рекомендуемые сообщения

druuum1

Подскажите пожалуйста, где происходит подключение шаблона, хочу дописать условие чтобы при входе с мобилок подключался другой шаблон. Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VaM

В Админке - Настройки - Мой магазин - Шаблон.

Это php костанта CURRENT_TEMPLATE

Видимо, Вам нужно в /includes/application_top.php добавлять код в условием, что если с мобилки, то задавать своё занчение CURRENT_TEMPLATE

Только зачем держать два разных шаблона, если тот же vamshop1 шабло адаптивный и подходит для любых устройств.

Да и гугл говорит, что лучше использовать адаптивные шаблоны, а не отдельные версии для разных устройств.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

Спасибо буду пробовать! у меня просто свой шаблон, адаптивность придавать ему слишком сложно, а переделать под мобильную версию - легко.


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VaM

Понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
KoVaLsKy
2 часа назад, druuum1 сказал:

Спасибо буду пробовать! у меня просто свой шаблон, адаптивность придавать ему слишком сложно, а переделать под мобильную версию - легко.


 

в сети есть класс определения устрйсва. работает очень хорошо. по нему можно и менять шаблон

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

Сделал, может кому пригодится:

скачиваем PHP-класс MobileDetect: http://mobiledetect.net/

распаковываем на сервере

в includes/application_top.php вставляем код:

require_once('путь на сервере до папки/Mobile_Detect.php');  // Подключаем скрипт Mobile_Detect.php
$detect = new Mobile_Detect; // Инициализируем копию класса
// Любое мобильное устройство (телефоны или планшеты).
if ( $detect->isMobile() ) 
{
define('CURRENT_TEMPLATE', 'vamshop1');
}

Теперь если заходить с мобилки - подключается нужный шаблон, в данном случае vamshop1

кстати возможности класса широкие, определяет тип, модель, ос, браузер

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VaM

Спасибо, что поделились кодом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

чтобы исключить планшеты, поскольку показывать на них мобильную версию нет смысла чуть меняем код:

require_once('/путь на сервере до папки/mobile/Mobile_Detect.php');  // Подключаем скрипт Mobile_Detect.php
$detect = new Mobile_Detect; // Инициализируем копию класса
// Мобильное устройство (телефоны но не планшеты).
if ( $detect->isMobile() && !$detect->isTablet() ) 
{
define('CURRENT_TEMPLATE', 'vamshop1');
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VaM

Планшеты тоже разные бывают, какой-нибудь маленкий планшет с не очень большим экраном, дюймов в 7 и не FullHD, а тем более в портретной ориентации, боюсь, что обычный шаблон не поместится на таком планшете без полос прокрутки.

Это всё к вопросу об адаптивности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

Ну это каждый сам решает, я на 7 дюймовом проверял, в альбомной ориентации отлично фулл версия смотрится, да и прогресс не стоит на месте, разрешения растут, диагонали тоже в среднем от 8". К тому же гугл сказал что все отлично :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VaM

Хорошо, что отлично.

Да я ж так, к слову.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

По теме - все настроил, одно не могу - размер всплывающего окна "задать вопрос о товаре" на телефоне выходит шириной в 66 пикс. Как поменять? Задается вроде скриптами colorbox, а где именно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

пока нашел временное решение в header.php  в строке  $(".iframe").colorbox({iframe:true, width:"30%", height:"80%"}); в место процентов поставил размеры в пикселях

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
KoVaLsKy
if ( $detect->isMobile() && !$detect->isTablet() ) 
{
Свои параметры popup окна
}

ну так там так же задайте в пикселях 

оберните в услвоия 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
druuum1

О, оказывается так можно? Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
VaM
6 часов назад, druuum1 сказал:

О, оказывается так можно? Спасибо!

Конечно можно.

/includes/header.php - это ж php файл, значит и php код в нём можно использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти