2012-03-19 94 views
3

我走下了讓我的magento商店移動友好的道路。起初,我開始使用簡單的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

我解決了這個問題,做了一個新的擴展,迫使magento在初始化後切換存儲。

+0

能否請你與我分享關於你的解決方案的更多細節?謝謝! – ahgood 2013-05-06 08:05:28

1

重複你的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

+1

太棒了。另外,這裏是更新所有鏈接以添加index_mobile.php的代碼:'jQuery(function(){if(document.URL.split('/ index_mobile.php')。length> 1){ \t \t jQuery ( 'A')。每個(函數(){ \t \t \t如果(jQuery的(本).attr( 'href' 屬性)。的indexOf( '/')== 0){ \t \t \t \t jQuery的(本) .attr( 'href' 屬性,/index_mobile.php/ + jQuery的(本).attr( 'HREF')); \t \t \t}否則{ \t \t \t \t jQuery的(本).attr(」 href',jQuery(this).attr('href')。replace(/ \/\/YOUR_SITE_DOMAIN \ // g,'//YOUR_SITE_DOMAIN/index_mobile.php/')); \t \t \t} \t \t}); \t} });' – ahgood 2013-09-12 19:31:11

+1

我只是在我的博客上發佈另一種方法,http://blog.ansyori.com/magento-create-button-switch-desktop-mobile/ – Ansyori 2014-01-03 04:47:28