Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Мобильная версия ocStore 2.3


Recommended Posts

Всем привет. Очень нужна помощь в реализации мобильной версии (с переходом на полную версию) с подключением Mobile_Detect.php 
Была статья, где это все описывалось, но к сожалению данная статья была написана для версии до 2.x

 

Надіслати
Поділитися на інших сайтах


2 минуты назад, theRGD сказал:

и вы хотите чтобы вам перевели 10 страниц лупегов на ОС23 :-D

Я не могу понять, как подключить сам класс mobile_detect, потому что в oc2.3 в файле startup.php не знаю, куда прописать подключения mobile_detect.php

Надіслати
Поділитися на інших сайтах


Мне не нужен поддомен. Я хочу, как в той статье, чтобы все грузилось на основном домене. То-есть шла проверка, если пользователь с телефона, то грузить один шаблон, если нет, то основной 

Надіслати
Поділитися на інших сайтах


25 минут назад, NightGhostPro сказал:

Мне не нужен поддомен. Я хочу, как в той статье, чтобы все грузилось на основном домене. То-есть шла проверка, если пользователь с телефона, то грузить один шаблон, если нет, то основной 

Engine

Надіслати
Поділитися на інших сайтах

7 минут назад, theRGD сказал:

Engine

Не совсем понятно мне.. мне нужно закинуть mobile_detect.php в папку engine и так подключить?
require_once(modification(DIR_SYSTEM . 'engine/Mobile_Detect.php'));

А как в index.php мне обратиться? Просто я в принципе в тупую попробовал залить в  startup.php файл вот так

require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;

а в index.php добавил такие строки:
 if( $detect->isMobile() && !$detect->isTablet() ){
     $config->set('config_template', 'default_mobile');
}
else{
             $config->set('config_template', 'default');
        } 
Но при переходе на сайт выбило ошибку HTTP_500 Вроде так

 

Надіслати
Поділитися на інших сайтах


4 минуты назад, theRGD сказал:

в Autoloader подключать с условием

А не подскажите, как мне это в autoloader прописать? Просто не совсем я разбираюсь с этим. Знаю, что проще было бы сделать адаптивный шаблон. Но мне уж срочно нужен именно отдельный шаблон для основного сайта и для мобильного 

Надіслати
Поділитися на інших сайтах


3 минуты назад, NightGhostPro сказал:

в autoloader прописать?

Спойлер

// Autoloader


if (is_file(DIR_SYSTEM . '../../vendor/autoload.php')) {
    require_once(DIR_SYSTEM . '../../vendor/autoload.php');
}

 

function library($class) {
    $file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '.php';

    if (is_file($file)) {
        include_once(modification($file));

        return true;
    } else {
        return false;
    }
}

 

require_once(DIR_SYSTEM . 'library/Mobile_Detect.php');
    $detect = new Mobile_Detect(); 
    define('isMobile', $detect->isMobile(), false);
    define('isTablet', $detect->isTablet(), false);

 

spl_autoload_register('library');
spl_autoload_extensions('.php');
 

 

Надіслати
Поділитися на інших сайтах

13 минут назад, theRGD сказал:
  Скрыть контент

// Autoloader


if (is_file(DIR_SYSTEM . '../../vendor/autoload.php')) {
    require_once(DIR_SYSTEM . '../../vendor/autoload.php');
}

 

function library($class) {
    $file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '.php';

    if (is_file($file)) {
        include_once(modification($file));

        return true;
    } else {
        return false;
    }
}

 

require_once(DIR_SYSTEM . 'library/Mobile_Detect.php');
    $detect = new Mobile_Detect(); 
    define('isMobile', $detect->isMobile(), false);
    define('isTablet', $detect->isTablet(), false);

 

spl_autoload_register('library');
spl_autoload_extensions('.php');
 

 

А как задать условие в index.php? Потому что мне кажется в условии главная загвоздка. Я создал папку default_mobile, в ней создал тестовый файл home.tpl в папке common, но при переходе все равно ничего не происходит. 

Надіслати
Поділитися на інших сайтах


13 минут назад, NightGhostPro сказал:

А как задать условие в index.php? Потому что мне кажется в условии главная загвоздка. Я создал папку default_mobile, в ней создал тестовый файл home.tpl в папке common, но при переходе все равно ничего не происходит. 

catalog / controller / startup

:-D на перевод 10 страниц лупегов я не давал согласие, хоть немного то структуру поучите

Надіслати
Поділитися на інших сайтах

3 минуты назад, theRGD сказал:

catalog / controller / startup

:-D на перевод 10 страниц лупегов я не давал согласие, хоть немного то структуру поучите

Нет, просто в той статье написано, что в корне сайта в файл index.php добавить 

//Mobile

if(isMobile && !isTablet && $_COOKIE['ver'] !== 'full'){

$config->set('config_template', 'default_mobile');

}elseif(isMobile && !isTablet && $_COOKIE['ver'] == 'full'){

$config->set('config_template', 'default'); } 
 и добавить это после Currency, но в index.php oc2.3 нет currency. Просто при переходе на сайт с телефона отображается все та же страница полной версии

Надіслати
Поділитися на інших сайтах


Огромное спасибо, что помогаете. Просто хочется уже до конца добить эту тему. Думаю не я один такой, кому эта тема еще пригодится. Разные случаи бывают. 

 

Надіслати
Поділитися на інших сайтах


7 минут назад, theRGD сказал:

в 2.0 оно в index, в 2.3 оно переехало в startup

Все равно HTTP ERROR 500 при подключении данного условия
//Mobile
        if(isMobile && !isTablet && $_COOKIE['ver'] !== 'full'){
             $config->set('config_template', 'default_mobile');
        }elseif(isMobile && !isTablet && $_COOKIE['ver'] == 'full'){
             $config->set('config_template', 'default');
        } 

Надіслати
Поділитися на інших сайтах


9 минут назад, theRGD сказал:

все живет там, на desktop есть контент, на iPhone 7 Plus пустая страница, нет контента, определилось устройство, контент вы еще не прописали к нему

Вы уверенны? Просто у меня на телефоне выдает ошибку с android

 

Надіслати
Поділитися на інших сайтах


3 минуты назад, NightGhostPro сказал:

Вы уверенны? Просто у меня на телефоне выдает ошибку с android

 

у меня нет андроид, вы на своем cache / cookie почистите, телефон же

Надіслати
Поділитися на інших сайтах

13 минут назад, theRGD сказал:

у меня нет андроид, вы на своем cache / cookie почистите, телефон же

У меня там должен быть контент. Но он никак не отображается. Даже простое 123 не отображается

Надіслати
Поділитися на інших сайтах


29 минут назад, theRGD сказал:

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

я в statrtup прописываю следующие строки
if(isMobile && !isTablet && $_COOKIE['ver'] !== 'full'){
             $config->set('config_template', 'default_mobile');
        }elseif(isMobile && !isTablet && $_COOKIE['ver'] == 'full'){
             $config->set('config_template', 'default');
Я даже не знаю что и как

Надіслати
Поділитися на інших сайтах


15 минут назад, NightGhostPro сказал:

$config->set('config_template', 'default_mobile');
$config->set('config_template', 'default');
Я даже не знаю что и как

вот эти куда ведут? а у вас как?

:-D вы же сказали что вам только первая строка не понятна

Надіслати
Поділитися на інших сайтах

4 часа назад, theRGD сказал:

вот эти куда ведут? а у вас как?

:-D вы же сказали что вам только первая строка не понятна

Было все понятно. Но говорю же, при подключении вроде все работает. То-есть для компов есть шаблон, а для мобильных устройств он пропадает и выбивает ошибку HTTP 500

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.