【问题标题】:opencart detect mobile device and redirect to mobile themeopencart 检测移动设备并重定向到移动主题
【发布时间】:2014-01-31 23:40:47
【问题描述】:

我的 opencart 主题不再响应,我创建了一个移动友好的新主题,位于 catalog/view/theme/mobile/.... 所以现在我的商店主题文件夹有以下 2 个主题

catalog/view/theme/desktop
catalog/view/theme/mobile

我知道如何检测移动设备然后重定向到特定的域地址。但这在这里不可能,如果我这样做,则必须创建一个新商店,如m.mystore.com

我在catalog/view/theme/desktop/template/common.header.tpl 中使用以下代码检测移动设备,然后重定向到移动设备

 <script type="text/javascript">// <![CDATA[
    var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
    if (mobile) {
        document.location = "http://m.mytore.com";
    }
// ]]></script>

以上方法不适合我的需要

所以我的问题是,如果检测到移动设备,除了创建新商店,我如何将模板文件夹重定向到 catalog/view/theme/mobile。?

感谢您的帮助

【问题讨论】:

  • By responsive theme 我了解一个主题(只有一个),它在大屏幕(台式机)、中型(平板电脑)较小的屏幕上表现不同屏幕(平板电脑和智能手机)和小屏幕(智能手机)。通过有两个主题,一个用于台式机,另一个用于其他设备,我们不能谈论响应式主题。无论如何,检测移动设备并使用该移动主题重定向到 m.domain.com 有什么问题?如果您需要响应式主题,请坚持使用 bootstrap,但 OpenCart 也有大量响应式主题。
  • 无论如何,在这里您检测到移动设备为时已晚(在模板中)。您应该在 PHP 部分检测设备(假设在 index.php 末尾的某处)并覆盖 setting 表中设置的模板 - 如果您发现检测到移动设备,只需替换 桌面模板与移动一个...

标签: php jquery mobile opencart browser-detection


【解决方案1】:

将移动检测的php代码放在config.php文件中。 然后,如果检测到移动设备,则为主题目录使用不同的定义。

if($ismobile){
define('DIR_TEMPLATE', 'C:\wamp\www\opencart/catalog/view/themeMobile/');
}else{
define('DIR_TEMPLATE', '/var/www/pharmalife365.com/catalog/view/themeMobile/');
}

只要您的主题在两个文件夹上具有相同的名称,这应该可以工作:D

【讨论】:

  • 我建议 www.modernizr.com 而不是使用这种方法
猜你喜欢
  • 2012-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 1970-01-01
相关资源
最近更新 更多