php页面控件,php – codeigniter中的动态页面控件

在我的CI项目中,我想使用完整的动态页面控件.所以,我有两个控制器方法,它们加载php文件.模型控件的查询基于url段.视图php文件中自动生成所有页面输出,具体取决于数据库的url和结果,index.php文件除外.

这是正确的方法吗?

调节器

public function index()

{

$data['title'] = "Index";

$data['nav'] = $this->content_model->get_index_nav(); //TODO

$this->load->view('templates/header', $data);

$this->load->view('templates/nav', $data);

$this->load->view('templates/nav_pict', $data);

$this->load->view('pages/aktualis', $data);

$this->load->view('templates/footer', $data);

}

public function view($page)

{

$page = 'content';

$this->load->helper('text');

$this->load->helper('url');

$page = lcfirst(convert_accented_characters(urldecode($page)));

if ( ! file_exists('application/views/pages/'.$page.'.php'))

{

show_404();

}

$data['title'] = ucfirst($page); // Capitalize the first letter

$data['nav'] = $this->content_model->get_nav();

$data['content'] = $this->content_model->get_content();

if(empty($data['content']))

{

show_404();

}

$this->load->view('templates/header', $data);

$this->load->view('templates/nav', $data);

$this->load->view('pages/'.$page, $data);

$this->load->view('templates/footer', $data);

}

模型(每个菜单都有一个数据库中的内容.当创建一个新的子菜单时,你必须添加内容)

public function get_content()

{

$this->db->select('content.*, mainmenu.label');

$this->db->from('content');

$this->db->join('mainmenu', 'mainmenu.id = content.katId', 'left');

$this->db->where('mainmenu.label', mysql_escape_string(urldecode(end($this->uri->segments))));

$query = $this->db->get();

return $query->result_array();

}

路由

$route['404_override'] = '';

$route['/:any/(:any)'] = 'pages/view/$1';

$route['(:any)'] = 'pages/view/$1';

$route['Index'] = 'pages/index';

$route['default_controller'] = 'pages/index';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值