我在Codeigniter 3上有一个工作项目。现在我必须构建一个FAQ页面,我有这个疑问:我是否需要每个URL都有一个Controller?
它是,FAQ页面是一个静态页面,但CodeIgniter通常将URL路由到控制器,如域/控制器/方法。但是构建一个Controller来加载View似乎是一种浪费。
答案 0 :(得分:1)
不,这不是为每个页面制作控制器的正确方法。只需通过从数据库中获取数据来创建一个显示页面的功能。
首先在数据库中创建一个名为pages的表,然后为不同的页面保存page_content,page_name,永久链接。
现在假设您的默认控制器是home,在其中使用名称页面创建一个函数,如下所示。
function pages( $permalink )
{
// get page data based on page_name passed in URL
$this->db->where( array( 'permalink' => $permalink ) );
$data['page'] = $this->db->get( 'pages' )->result();
// load view and pass page object to view
$this->load->view( 'view_file', $data );
}
现在,相同的功能将根据URL中传递的固定链接显示不同的页面内容。