【发布时间】:2011-08-24 02:47:39
【问题描述】:
我仍在尝试找出一种方法来运行移动网站。我在 CodeIgniter 中有一个网络应用程序,我想创建它的移动版本。但是,我不想重写太多代码,尤其是模型。(因为它们返回的原始数据可以在任何地方使用。)
我想在子域 (m.mydomain.tld) 上运行我的移动网站。桌面版在www.mydomain.tld 运行。我尝试将子域指向我的 CI 应用程序文件夹;当移动浏览器到达www.mydomain.tld 时,我将其重定向到m.mydomain.tld。正如我所说,这个子域指向我的 CI 应用程序文件夹;然后,我提供针对移动设备优化的控制器和视图。
但是!在app/config/config.php 中指定,我的应用程序的base_url 是:
$config['base_url'] = 'http://www.mydomain.tld/';
所以重定向到m.mydomain.tld 并没有真正起作用,因为我仍然被重定向到www,我不希望这样,即使它做了我想要它做的事情。
我试图解决这个问题的方法是创建两个具有不同控制器/视图的应用程序文件夹,但共享模型等。所以,我试图找出一种方法来重组我的 CodeIgniter 应用程序,以便我可以共享我的模型和“自定义控制器”(MY_Controller),以及不同应用程序之间的一些自定义库/助手。
我希望这很清楚,如果不是,我很乐意解释更多我在寻找什么。非常感谢!
【问题讨论】:
-
为您的移动版本的模型添加另一个视图,而不是创建一个全新的应用程序。我从未使用过 CI,但这是作为 agavi.org 软件包的一部分提供的,毕竟这是 MVC 架构的全部要点。
-
更新我的问题,为什么我认为这是不可能的。谢谢!
-
哦,我看到了你的问题。您需要使您的配置文件对您的应用程序所在的位置敏感。
标签: php model-view-controller codeigniter mobile codeigniter-2