在zend框架中检测移动视图没有发生?

时间:2012-03-20 13:39:45

标签: php zend-framework

UPDATED MY QUESTION

我正在尝试使用zend框架为移动视图实现单独的模板。我正在关注此guide

我有以下名为Mobile.php

的插件
<?php

class ZC_Controller_Plugin_Mobile extends Zend_Controller_Plugin_Abstract 
{
    public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { 

    $bootstrap  = Zend_Controller_Front::getInstance()->getParam("bootstrap"); 
    $useragent  = $bootstrap->getResource("useragent"); 
    $device     = $useragent->getDevice(); 

    Zend_Registry::set("useragent", $useragent);
    Zend_Registry::set("device", $device);

    /**
     * @todo change this to be Mobile 
     */

    echo $device->getType() . " is the type of device";

}

}

这适用于桌面视图。当我运行网站时,我得到desktop is the type of device作为输出。当检查相同时,我得到以下应用程序错误,

enter image description here

当我在移动$device = $useragent->getDevice();

上运行网站时,我在以下行中收到错误消息

请提供关于此的建议

1 个答案:

答案 0 :(得分:2)

Zend Framework目前仅适用于WURFL版本1.01.1(请参阅Zend_Http_UserAgent_Features_Adapter_WurflApi)。

不幸的是,只有最新的2个版本可用,旧版本由于某种原因被拉出,无法从SourceForge下载。您有更新的版本1.3.01.3.1是撰写时的最新版本。

除了一个网站here之外,我找不到1.1版本。我不知道那里发布的版本的来源或完整性,但我浏览了很多文件,看起来就像你需要的那样。

我建议下载该版本并用这些文件替换其他文件,看看错误是否消失。

希望有所帮助。