我有一个Joomla插件驱动的门户网站。插件已安装并在浏览器中完成我需要的操作。现在我正在尝试直接使用joomla-plugin html构建一个WebView
应用程序。我可以通过设计一个看起来像我的应用程序的新joomla模板来做到这一点。现在,如果我激活模板,它将接管Web版本。
我如何使用UserAgent
字符串或其他任何来指定请求的工作来自应用程序,因此我可以使用设计的模板而不是默认的模板,默认的模板仍可用于其他网络浏览器。
提前谢谢。
答案 0 :(得分:1)
如果您完全控制Web视图代码,您当然可以发送预定义的UserAgent字符串或更好的自定义标题(例如" X-App:my-webview")。
如果您只想按品牌/屏幕/功能识别某些设备,可能需要查看WURFL项目。
你必须编写一个系统插件来监听" onAfterInitalise"事件,检查自定义UserAgent /标头,并相应地切换模板。代码或多或少会像这样(未经测试):
<?php
defined('_JEXEC') or die;
jimport('joomla.environment.browser');
class plgSystemTemplateswitcher extends JPlugin
{
private $webViewUserAgent = "myWebViewUserAgent";
private $webViewTemplate = "myWebViewTemplate";
public function onAfterInitialise()
{
if ($this->getUserAgent() == $this->webViewUserAgent)
{
$this->setTemplate($this->webViewTemplate);
}
}
private function getUserAgent()
{
$browser = JBrowser::getInstance();
return $browser->getAgentString();
}
private function setTemplate($template)
{
$app = JFactory::getApplication();
$app->setTemplate($template);
}
}