繁体   English   中英

在Codeigniter中设置管理面板

[英]Setting up admin panel in Codeigniter

在我的项目中,我试图为管理员创建一个部分。 http://philsturgeon.co.uk/blog/2009/07/Create-an-Admin-panel-with-CodeIgniter#top之后,我尝试了第二种方法。 据此,我的文件夹结构变为这样。

project
   cache
   config
   controllers
       -admin
          index.php
       -blog.php
   system
   views
       -admin
          index.php
        blog.php
...................

我使用以下代码在controllers / admin中创建了一个控制器index.php

class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view(index/index);
    }
}

views / admin内部,我创建了一个文件index.php并回显了一些字符串,并在route.php中添加了这一行,

$route['admin'] = 'admin/index';

但是当我使用URL http://localhost/workspace/project/admin/运行管理面板时,出现404错误

The requested URL /workspace/project/admin/ was not found on this server.

我做错了什么? 我还需要进行其他设置吗?

有人可以指导我解决此问题吗? 我是Codeigniter的新手。

提前致谢。

让我们更改文件结构(您需要在admin.php控制器中创建索引函数)

 project(may be root folder of CI)
    applications
       cache
       config
       controllers
           -admin
             index.php (method index)
           -blog.php
       system
       views
           -admin
              index.php
            blog.php

还将控制器名称更改为admin并查看负载

class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('admin/index');
    }
}

然后改变你的路线

$route['admin'] = 'admin/index';

编辑-在routes.php中将管理路由更改为此

$route['admin/(:any)'] = "admin/$1";

另外,将其放置在通往默认控制器的路线上方-

 $route['default_controller'] = "welcome";
    $route['404_override'] = ''; 

我希望它能起作用! ////////////////////////////////////////////

我想,您的结构有问题,如果我没记错的话,那就是这样的-

project
   cache
   config
   controllers
       -admin   // your admin folder
          index.php   // your default controller
       -blog.php
   system
   views
       -admin
          index.php
        blog.php

将控制器名称从index更改为admin.php,因此路由应为-

$route['admin'] = 'admin/admin/index'; // its like folder/controller/function

我更喜欢您有2个codeigniter项目,一个用于管理员,一个用于博客。 因为会有常见的文件夹,例如图像,css和js,它们会发生冲突。

还存在诸如通用控制器名称之类的可伸缩性问题,因为codeigniter中的名称空间仍然是一个漫长的过程。

尝试这个

class Index extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    function index()
    {
        $this->load->view('admin/index');
    }
}

暂无
暂无

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

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