2015-05-11 8 views
-1

Я строй простого CMS с использованием коды воспламенитель версией 3.0.0CodeIgniter - Выберите контроллер, основанный на базе

URL-адрес сайта является настраиваемым пользователем, и поэтому не следовать стандартную структуре MVC из/контроллера/Способ/параметр-1/параметр-2 /. Вместо этого весь внешний трафик направляется на индексный метод PublicController. Этот метод ищет базу данных для текущего URL-адреса, чтобы вернуть правильную страницу, а также тип страницы. Каждый тип страницы соответствует контроллеру.

Как я могу назвать этот контроллер из PublicController без перенаправления?

Я не могу использовать метод redirect(), потому что это изменит URL-адрес в окне браузера и вызовет ненужный дополнительный запрос страницы.

+0

Ваш вопрос очень широк и очень неясно. Пожалуйста, сузите его к чему-то конкретному. Точный Контроллер определяется самым первым сегментом URL ... это может быть дополнительно изменено с помощью пользовательских маршрутов (в конфигурации). В противном случае [документы очень четко объясняют концепцию MVC] (http://www.codeigniter.com/user_guide/overview/index.html) ... прочитайте его и следуйте [учебнику] (http: //www.codeigniter .com/user_guide/учебник/index.html). Также выпущен FYI, 3.0, поэтому нет необходимости использовать версию разработки. – Sparky

+0

Хорошо, я переписал его, поскольку кажется, что все ответы неправильно поняты. Последняя версия 3.0.1-dev - I, которую я буду обновлять до – anotheruser1488182

+0

. Версия 'dev' - это еще не официально выпущенная версия разработчика. Последняя официальная версия от codeigniter.com - это просто '3.0.0'. – Sparky

ответ

0

, если вы посмотрите на url/about/who-we-are/ о контроллере, а who-we-are - это функция в контроллере, которая загружает одно или несколько видов.

То же самое для/location/stores/ функции хранятся в местах расположения контроллеров.

прочитайте документацию, и это будет легко понять. http://www.codeigniter.com/user_guide/overview/mvc.html

+0

Спасибо за ответ, однако в примере «about» не является контроллером, это URL-адрес страницы, заданный пользователем. Контроллер, к которому привязан URL, указан в базе данных – anotheruser1488182

+0

@ anotheruser1488182, тогда вам нужно написать контроллер, который может получить и перенаправить на этот URL. – Sparky

0

Я уверен, что настройка маршрута Ваш ответ:

// routes.php 
$route['(:any)'] = "PublicController/index/$1"; 

// PublicController.php 
public function index() 
{ 
    var_dump(func_get_args()); 
} 
Смежные вопросы