php – codeigniter中的动态页面控件

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了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('pages/'.$page,$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';

解决方法

您使用Codeigniter就好了,不需要进行任何结构修改.

脚本宝典总结

以上是脚本宝典为你收集整理的php – codeigniter中的动态页面控件全部内容,希望文章能够帮你解决php – codeigniter中的动态页面控件所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。