2017-07-20 639 views
0

感谢我的工作,我开始在CodeIgniter平台上工作。这个平台自从之前就开始了,所以我刚刚参加了这个项目。事情是我没有和CI一起工作,所以我刚刚有一个快速教程,并根据平台的构建方式开始开发。现在开始,我决定创建一个新页面来放置一个对象列表,并了解PHP如何与HTML进行通信。问题是,当我转到我在routes.php上定义的URL时,它会发出一个错误“请求的资源不存在”,并且我不知道我在做什么错误,而其他类似的工作在其他平台的模块。URI路由不起作用

我使用的文件是:

list.php的

// stuff 
     <?php if (has_access('agroindustrias')): ?> 
      <li class="<?php get_li_class('agroindustrias', $active); ?>" > 
       <a href="<?php echo base_url('administracion/agroindustria'); ?>">Agroindustrias</a> 
      </li> 
     <?php endif ?> 
// stuff 

agroindustria.php

<?php 
if (!defined('BASEPATH')) { 
    exit('No direct script access allowed'); 
} 

class Agroindustria extends MY_Controller 
{ 
    public function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('agroindustria_model', 'agroindustria'); 
    } 

    public function index($offset = 0) 
    { 
     $data['links'] = $this->paginate($this->agroindustria, 'agroindustrias', $offset); 
     $data['permisos'] = $this->getPermissions('usuario'); 
     $data['active'] = 'usuarios'; 
     $data['agroindustrias'] = $this->agroindustria->limit($this->limit, $offset)->get_all(); 
     $data['submenu'] = $this->load->view('administracion/menu', $data, true); 

     $this->template->write_view('content', 'administracion/agroindustrias/list', $data); 
     $this->template->render(); 
    } 

} 

routes.php文件(更新所有的文件,只有“reportes”之前的文件不起作用)

$route['administracion/agroindustria'] = 'agroindustria/index'; 

我的网址是:http://localhost/work/administracion/agroindustria

其他控制器的工作原理有类似的东西,原因,我不知道我做错了,我是否还需要添加一些其他的文件,或如果我写的东西是错的。提前致谢。

+0

我可以把它的index.php文件是在工作文件夹? – Antony

+0

是的,在应用程序文件夹内。 –

+0

你能输出整个路线文件吗? – Antony

回答

0

在@Antony让我检查的事情之后,我能够发现错误,这实际上并不是一个错误,只是之前人们在平台上工作过很多,我没有深入了解方法学向平台添加新模块。我需要做的就是注册新模块,并且平台根据需要添加新的URL。谢谢安东尼的帮助!

+0

没问题 - 很高兴我能帮忙:o) – Antony

0

,如果你使用的是像这样

public function index($offset = 0){ 
    .... 
    .... 
    .... 
} 

方法,那么你需要改变像

路线,如果第一个字母不大写所有的第一次重命名agroindustria.php到Agroindustria.php
$route['administracion/agroindustria/(:num)'] = 'agroindustria/index/$1'; 

和URL

http://localhost/work/administracion/agroindustria/0 

最好的办法是在你的控制人变更情况

//if offset not change 
public function index(){ 
    $offset = 0; 
    .... 
    .... 
    .... 
} 

//if your offset depend upon 3rd segments of URL then 
public function index(){ 
    $offset = if($this->uri->segment(3)) ? $this->uri->segment(3) : 0; 
    .... 
    .... 
    .... 
}