我对代码点火器很新.是否有针对不同背景提供不同视图的最佳实践.例如,我想为具有相同控制器的移动用户代理提供特定页面.
对此没有严格的规定.您可以根据需要构建视图文件,并调用$this->load->view()加载不同视图文件以获取控制器中的不同结果.根据我的经验,CodeIgniter非常公开地适应您组织应用程序文件的方式.
在您的示例中,也许我将我的system/application/views文件夹分为两个子文件夹:main桌面浏览器和mobile移动浏览器:
system/
application/
views/
main/
index.php
some_page.php
...
mobile/
index.php
some_page.php
...
Run Code Online (Sandbox Code Playgroud)
在控制器的早期部分,比如构造函数,您可以决定请求它的用户代理,然后选择main或mobile基于此,然后根据控制器操作显示您的视图.
一些快速的代码片段,为您提供一个更好的主意,因为您是新的......
// Place this just below the controller class definition
var $view_type = 'main';
// Controller constructor
function MyController()
{
parent::Controller();
if ($this->agent->is_mobile())
{
$this->view_type = 'mobile';
}
else
{
$this->view_type = 'main';
}
}
// Example action
function some_page()
{
// ...
// This comes from the 'var $view_type;' line above
$this->load->view($this->view_type . '/some_page');
}
Run Code Online (Sandbox Code Playgroud)
以及一些有用的参考资料供您探索:
希望我的解释有所帮助,并希望您对CodeIgniter感到高兴:)
| 归档时间: |
|
| 查看次数: |
1239 次 |
| 最近记录: |