在Codeigniter中设置管理面板

时间:2014-04-03 04:41:59

标签: php codeigniter admin

在我的项目中,我正在尝试为管理员创建一个部分。在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 并回显了一些字符串,并在 routes.php 中添加了这个线,

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

但是当我使用网址http://localhost/workspace/project/admin/运行管理面板时,我收到404错误

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

我做错了什么?我还有其他任何设置。

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

提前致谢。

4 个答案:

答案 0 :(得分:1)

让我们更改您的文件结构(您需要在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';

答案 1 :(得分:1)

编辑 - 在routes.php

中将路由更改为admin
$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 :(得分:0)

我更喜欢你有两个codeigniter项目,一个用于管理员,一个用于博客。因为像图像,css和js这样的常见文件夹会发生冲突。

还会出现像常见控制器名称这样的salablility问题,因为codeigniter中的命名空间仍然是一个漫长的过程。

答案 3 :(得分:0)

试试这个

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

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