繁体   English   中英

Codeigniter-子文件夹路径中的视图

[英]Codeigniter - views in subfolders routes

出于组织目的,我需要在我的views目录中包含子文件夹。 例如,用于管理登录/注册: views/login_reg/login.phpviews/login_reg/register.php

在我的URI中要查看: www.mysite.com/loginwww.mysite.com/register而不是www.mysite.com/login_reg/login

我已经尝试了以下路线:

$route['(:any)/login'] = 'login_reg/login';

哪个不起作用。

编辑:

一个简单的例子进一步阐述:

//Controller: login_reg.php

class Login_reg{

    function login(){
        $this->load->view('login_reg/login');
    }

    function register(){
        $this->load->view('login_reg/register');
    }

}

 //Routes:
 $route['login_reg/(:any)'] = 'login_reg/$1';

所以我的URI看起来像这样: www.mysite.com/login_reg/loginwww.mysite.com/login_reg/register

因此,我希望一个控制器来管理所有与登录/注册相关的视图。 但是我不想在URI中看到控制器名称。 这可能吗? 还是拥有用于登录的控制器,用于注册的控制器,用于更改密码的控制器等的最佳方法? 这似乎有点过分。 我想将我的文件很好地组织到相关目录中,因为这是一个非常大的站点的一部分。

在这里,您根本不需要路由。

只需在加载视图时添加文件夹名称。

例如,您用于登录的控制器名称类似于

function login()
{
  //code goes here
  $this->load->view('login_reg/login');
}

和注册类似。

希望对您有所帮助。如有其他疑问,请随时告诉我。

-更新-

要隐藏控制器名称,请在route.php中像这样创建chanes;

$route['login'] = 'login_reg/login';
$route['register'] = 'login_reg/register';

并且您的网址现在会像这样:

http://yourwebsite.com/login

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM