我在Codeigniter工作。
这是我到目前为止为实现我的想法而编写的代码。
视图:
<li><a href=" echo $menu->url.'/'.$menu->id " >Gallery</a></li>
控制器:
function view($id){
$content['content'] = $this->MyModel->getContent($id);
$data['header'] = $this->load->view('header', '', true);
$data['content'] = $this->load->view('content', $content, true);
$this->load->view('main_view', $data);
}
型
function getContent($id){
$this->db->select('page_title, content');
$this->db->from('admin_pages');
$this->db->where('id', $id);
............
return $query;
}
路线
$route['view/(:any)'] = 'mycontroller/view/$1';
我在这里想要实现的是,当我单击"视图"中的链接时,它应该向我显示另一个页面,其中包含根据从 url 传递给它的参数"$id"从"admin_pages"表中获取的特定链接的内容。
但是,当我单击链接时,它给我页面找不到错误。
任何形式的帮助将不胜感激。
经过反复试验,我找到了一个解决方法,我想分享该解决方法以供将来参考。
我将链接更改为:
视图
<li><a href=" echo base_url().'page/'. $menu->id; " >Gallery</a></li>
然后在路线上我改变了:
路线
$route['page/(:any)'] = 'mycontroller/view/$1';
这意味着,每当URL中base_url/页面后跟"id"时,它将被重新映射或带到控制器"mycontroller"中的"view"方法,并且id将作为参数传递给该方法,该方法将在其定义中$id接收该方法。