【发布时间】:2017-05-04 11:22:50
【问题描述】:
我有 2 个不同的移动和桌面网站(由于它们之间的差异很大,我无法使其响应,因此无法加载不同的视图),并且它们的网址是相同的。我已经在 Codeigniter 中有移动站点,我需要将其制作为桌面版本。
他们有什么方法可以让我在路由器中加载不同的控制器吗 基于用户代理,或任何其他方式来解决这个问题。
我曾尝试在路由规则之前加载用户代理库,但出现错误。
这是我在 routes.php 中尝试过的:
$this->load->library('user_agent');
$this->load->helper('url');
if ($this->agent->is_mobile())
{
$device = "";
}
else
{
$device = "desktop/";
}
错误:
遇到 PHP 错误 严重性:通知 消息:未定义的属性:CI_Router::$load 文件名:config/routes.php 行号:52 回溯: 文件:/var/www/html/abc.com/application/config/routes.php 线路:52 函数:_error_handler 文件:/var/www/html/buzz.in/index.php 线路:315 函数:require_once
【问题讨论】:
-
代替路由,请尝试使用 BaseController 然后路由请求。
-
我会说为此使用 codeigniter 挂钩,这样您就可以在加载控制器之前执行检查
-
感谢大家的帮助。 Hooks 非常适合我。
标签: php codeigniter model-view-controller routes