【问题标题】:How to handle mobile devices in Zend Framework?如何在 Zend Framework 中处理移动设备?
【发布时间】:2011-04-04 16:03:53
【问题描述】:

我接手了一个噩梦般的项目!我正在移动一个写得很糟糕的网站,然后慢慢地将它移动到 Zend Framework 应用程序中。不幸的是,我没有时间进行补救工作以使其变得可以忍受(可能是一两个模型)。我现在被告知很快就会有该网站的移动版本,并且建议克隆旧网站并使用它。为了不处理同一个废话的不同版本并为自己争取一些时间,我建议 ZF 网站应该处理这一切。

使用 Zend_Http_UserAgent 检测然后简单地加载替代布局和内容是不是很糟糕?

一开始我倾向于使用两个模块,但在模块中使用 ACL 时遇到了一些麻烦。

欢迎任何替代建议!

干杯

【问题讨论】:

标签: php zend-framework user-agent


【解决方案1】:

随着Zend Framework 1.11,zend 引入了基于Zend_Http_UserAgentwurfl adapter

它允许您检测移动设备并引导不同的布局。 2010 年 12 月 zend 时事通讯随附的 YouTube 上有一个 HOW TO:http://www.youtube.com/watch?v=_A8yg73tqOY

您不必使用不同的模块!只是布局文件不同!

【讨论】:

    【解决方案2】:

    如果 (Zend_Http_UserAgent_Mobile::match($_SERVER['HTTP_USER_AGENT'], $_SERVER)) {

    }

    【讨论】:

      【解决方案3】:

      一个很好的起点是使用 css 研究响应式设计技术。有很多教程只是谷歌“响应式设计”,也许你可以重构现有的布局。

      【讨论】:

      • 干杯,虽然我同意响应式设计通常是我需要加载不同布局而保持原始布局不变的解决方案。
      【解决方案4】:

      Zend/Magento 的推荐方式:

      $isUsingMobile =    Zend_Http_UserAgent_Mobile::match(
                                  Mage::helper('core/http')->getHttpUserAgent(),
                                  $_SERVER
                              );
          if($isUsingMobile)
          {   
              //Do something 
          }
          else
          {
                  //Do something
          }
      

      它返回真或假。 注意:你必须在 Zend/Http 中有 userAgent 库

      【讨论】:

        猜你喜欢
        • 2013-01-11
        • 1970-01-01
        • 2012-07-04
        • 1970-01-01
        • 2012-06-16
        • 2011-03-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多