如何使用Codeigniter创建自定义页面,而不是控制器

Lui*_*uis 3 php codeigniter

我有一个建立在Codeigniter上的网站,我想创建一些包含条款或隐私等信息的页面,其地址应为:

http://domain.com/terms
http://domain.com/privacy
Run Code Online (Sandbox Code Playgroud)

我的问题是:我应该为每个页面创建一个控制器吗?例如,在CMS中,如果我添加一个页面,它必须在服务器上创建一个"pysical"页面(CMS是基于Codeigniter构建的)?

bir*_*ric 8

对于静态页面,如隐私政策或服务条款页面,它们并不真正适合任何其他控制器,我通常创建一个"内容"控制器,看起来像这样:

class Content extends CI_Controller {

    public function privacy_policy()
    {
        $this->load->view('privacy_policy');
    }

    public function terms_of_service()
    {
        $this->load->view('terms_of_service');
    }

}
Run Code Online (Sandbox Code Playgroud)

然后我添加一些路由来从URL中删除"内容":

$route['privacy-policy']   = 'content/privacy_policy';
$route['terms-of-service'] = 'content/terms_of_service';
Run Code Online (Sandbox Code Playgroud)

这样您就不需要为每个页面创建一个新的控制器,您可以将静态页面组织在一个位置.

  • 查看文档:http://codeigniter.com/user_guide/general/controllers.html#private (2认同)