如何在Zend Framework中处理移动设备?

8
我接手了一个非常困难的项目!我正在将一个写得很差的网站逐步移入Zend框架应用程序中。不幸的是,我没有时间做一些弥补性工作来使这更容易处理(也许只需要一个模型或两个)。现在有人告诉我,它很快就会有移动版的网站,并且提出了克隆旧网站并在此基础上开发的方案。为了避免同时处理同样糟糕的不同版本并给自己争取一些时间,我建议使用ZF网站来处理所有问题。
使用Zend_Http_UserAgent检测然后简单地加载另一种布局和内容是否是可怕的实践?
我原本倾向于使用两个模块,但在模块的ACL方面遇到了一些麻烦。
欢迎任何其他建议!
谢谢

1
根据您需要处理的内容(我的意思是,移动设备的特定内容),您可能只需要使用正确的CSS。http://www.alistapart.com/articles/return-of-the-mobile-stylesheet - Boris Guéry
有趣的文章,谢谢。看起来并不像我想象中的那么头疼。 - piddl0r
4个回答

12

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

1
建议的方式是使用Zend/Magento:
$isUsingMobile =    Zend_Http_UserAgent_Mobile::match(
                            Mage::helper('core/http')->getHttpUserAgent(),
                            $_SERVER
                        );
    if($isUsingMobile)
    {   
        //Do something 
    }
    else
    {
            //Do something
    }

它会返回true或false。注意:您必须在Zend/Http中拥有userAgent库。

1
一个好的起点是查看使用CSS的响应式设计技术。有很多教程可以通过谷歌搜索“响应式设计”来找到,也许您可以重构现有布局。

2
虽然我同意响应式设计通常是解决方案,但我需要加载一个不同的布局,而原始布局保持不变。谢谢! - piddl0r

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接