CodeIgniter - Отключить вызов функции контроллера? - PullRequest
1 голос
/ 10 февраля 2011

Я просто хочу загрузить контроллер и не вызывать функцию, основанную на URI, чтобы я мог затем сгенерировать страницу на основе следующих сегментов. Как мне изменить поведение по умолчанию для этого? например.

example.com / class / function / ID >>> example.com/class/ID/ ID

Я думал, что все, что мне нужно было сделать, это добавить в config.php:

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

, но это дает мне 404.


example.com/ find / item / location

class Find extends CI_Controller {

private $s1;
private $s2;

function __construct()
{
    parent::__construct();
}

function index()
{
    $this->s1 = $this->uri->segment(2);
    $this->s2 = $this->uri->segment(3);
    $this->makePage();
}

function makePage()
{
    echo 'Page about ' . $this->s1 . 'in ' . $this->s2;
    //Get Data ($s1 & $s2)
    //Load View 
}
}

1 Ответ

3 голосов
/ 10 февраля 2011

понял, нужно было добавить еще одну функцию для вызова (findit);

$route['find/(:any)/(:any)'] = "find/findit/$1/$2";

function findit()
{
    $this->makePage();
}

этот пост, который я нашел, был очень полезен: CodeIgniter: Направление на функции ссегмент URL

...