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

时间:2011-09-30 16:26:06

标签: php codeigniter

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

http://domain.com/terms
http://domain.com/privacy

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

2 个答案:

答案 0 :(得分: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');
    }

}

然后我添加了一些routes来从网址中删除“内容”:

$route['privacy-policy']   = 'content/privacy_policy';
$route['terms-of-service'] = 'content/terms_of_service';

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

答案 1 :(得分:0)

我所做的就是将您的政策声明作为DL,DT,DD。使用jquery隐藏DD,然后在点击DT时显示DD。然后将DD弹出窗口作为模态

整个内容包含在页脚中。无需与控制器有任何关系