Codeigniter视图子文件夹

时间:2017-08-30 16:21:23

标签: php codeigniter

我正在尝试从子文件夹加载路径就像这样(views / pages / users / myview.php)。我想为此设置一个href链接。我试图改变路由和代码逻辑但没有任何工作。我试图加载一个视图,但这不起作用,我想这可能是由于我的路线,但我不确定。用户只是移动到用户/在视图文件夹中尝试,并没有链接到页面。

routes.php文件

 $route['default_controller'] = 'pages/view';
 $route['students/(:any)'] = 'pages/view_student/$1'; // try
 $route['pages/users/(:any)'] = 'pages/view_user/$1'; // try
 $route['(:any)'] = 'pages/view/$1';

的header.php

<div id="navbar">
      <ul class="nav navbar-nav">
        <li><a href="<?php echo base_url(); ?>">Home</a></li>
         <li><a href="<?php echo base_url(); ?>login">Login</a></li>
        <li><a href="<?php echo base_url(); ?>about">About</a></li>
        <li><a href="<?php echo base_url(); ?>user_main">Users</a></li>
        <li><a href="<?php echo base_url(); ?>student_main">Student</a></li>
      </ul>
    </div>

pages.php

class Pages extends CI_Controller{

public function view($page = 'home'){

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

        show_404();

    } // end if

    $data['title'] = ucfirst($page);

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

} // end function VIEW

// try
public function view_user($page = 'user_main'){

    if(!file_exists(APPPATH. 'views/users/'.$page.'.php')){

        show_404();

    } // end if

    $data['title'] = ucfirst($page);

    $this->load->view('templates/header');
    $this->load->view('users/'.$page, $data);
    $this->load->view('templates/footer');

} // end function VIEW

// try
public function view_student($page = 'student_main'){

    if(!file_exists(APPPATH. 'views/pages/students/'.$page.'.php')){

        show_404();

    } // end if

    $data['title'] = ucfirst($page);

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

} // end function VIEW

}   // end class

*********************以下编辑*********************

我能够让这种方式有效,但它很丑陋而且不是很有活力。我觉得必须有更好的方法来访问用户的文件,这将允许视图方法的原始设置

在视图函数中:

$data['title'] = ucfirst($page);
    $segment = $this->uri->uri_string();

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

    if($segment == 'student_main')
        $this->load->view('pages/students/'.$page, $data);
    elseif($segment == 'user_main')
        $this->load->view('pages/users/'.$page, $data);
    else
        $this->load->view('pages/'.$page, $data);

    $this->load->view('templates/footer');
标题中的

<li><a href="<?php echo base_url(); ?>user_main">Users</a></li>
<li><a href="<?php echo base_url(); ?>student_main">Student</a></li>

0 个答案:

没有答案