Codeigniter заставляет работать контроллеры подкаталогов - PullRequest
6 голосов
/ 01 февраля 2012

У меня проблемы с загрузкой страницы контроллера, который я тоже хочу.

Например, я хочу, чтобы мой сайт загружался как localhost / sitename / catergory1 / catergory2, где catergory 1 - это его собственный контроллер, а 2 - метод. Итак, я попытался добавить это в мой route.php:

$route['catergory1'] = 'catergory1/cat1';

с моим файлом контроллера, настроенным как:
-Controller
-Home.php
-catergory1 <- подпапка <br> -cat1.php
я подумал, что Codeigniter загрузит контроллер 'cat1' внутри папки catergory 1, но вместо этого, когда я перехожу в localhost / sitename / catergory1, он просто загружает контроллер по умолчанию 'home'. Я пытался поместить его как в URI-маршруты, так и в зарезервированные маршруты в файле rout.php, но он все равно не будет работать. Возможно, это что-то действительно легкое, но я новичок в этом

Вот сами контроллеры просто заключают в себе какое-то отношение к ним:
домашний контроллер:

class Home extends CI_Controller {  
    function index() {  
        $this->load->view('home');  
    }
}

Контроллер Cat1:

class Cat1 extends CI_Controller{  
    function index() {  
        $this->load->view('cat1');  
    }  
}

Я просто тупой и что-то упускаю?
Спасибо.

1 Ответ

6 голосов
/ 01 февраля 2012

У вас есть опечатка в category1 кстати.

Если я правильно следую, у вас есть такая структура:

\ controllers
 - home.php
 \ category1 \
  - cat1.php

Если это так, вы путаете себя с вашим маршрутом:

$route['category1 '] = 'category1/cat1/index';

Необходимо определить метод index, это основано на вашем файле 'cat1.php':

class Cat1 extends CI_Controller{
   function index() {
      $this->load->view('cat1');
   }
}

Я писал об этом, поскольку люди обычно путаются с маршрутами в CI:
http://blog.biernacki.ca/2011/12/codeigniter-uri-routing-issue-with-controller-folders/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...