Логика переключения магазина мобильной версии Magento - PullRequest
3 голосов
/ 19 марта 2012

Я пошел по пути, чтобы сделать мой magento магазин мобильным. Сначала я начал использовать простые исключения из темы конфигурации magento для отображения мобильной темы посетителям с помощью мобильных браузеров, пока не понял, что мне действительно нужно создать новый вид магазина только для этой темы. Есть несколько расширений, которые мне нужно отключить на мобильном сайте.

Итак, у меня есть мой мобильный сайт m.website.no и мой основной сайт www.website.no - у меня есть код в index.php, который запускает magento с кодом магазина для мобильного сайта или основного сайта в зависимости от по запросу. Он также перенаправляет на мобильный сайт, если обнаружен мобильный пользовательский агент.

Теперь все очень хорошо сделать мобильный сайт и перенаправить посетителей на него на основе пользовательского агента, но что, если они захотят просмотреть сайт рабочего стола? Один делает ссылку на основной сайт, верно? Он будет идти по адресу www.website.no - но затем посетитель снова возвращается на мобильный сайт ... так что следующий шаг в логике - установить переменную следующим образом: www.website.no/?desktop=1. Если я хочу, чтобы он завис, то я должен поместить это в переменную сеанса, в файл cookie или что-то в этом роде.

Моя проблема - в index.php magento даже не загружается! Итак, как мне установить или получить переменную сеанса через magento (например, Mage::getSingleton('core/session')->setIsDesktop(true);) еще до того, как она будет загружена? Я поступаю об этом совершенно неправильно? Нужно ли расширять magento или что-то еще, чтобы он переключал магазин, если пользователь специально запросил основной сайт? Гигантская головная боль.

Ответы [ 2 ]

1 голос
/ 10 сентября 2013

продублируйте ваш index.php, например, на index_mobile.php

добавить следующий скрипт в файл index_mobile.php первой строки, чтобы принудительно изменить пользовательский агент в качестве рабочего стола

$_SERVER['HTTP_USER_AGENT'] = 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36';

теперь создайте гиперссылку на yoursite.com/index_mobile.php

<a href="yoursite.com/index_mobile.php">view desktop site</a>

удачи !! : D

0 голосов
/ 15 мая 2012

Я решил эту проблему, создав новое расширение и заставив magento переключать хранилище после его инициализации.

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