Вопрос

Я только изучаю codeigniter и, кажется, столкнулся с чем-то странным. Я использую функцию маршрутизации URI, но мне нужно получить сегменты URI перенаправленного URI.

Это один из маршрутов:

$route['content'] = "site/display/main template/content";

и при посещении http: //lipsum.localhost/content он загружает контроллер, но не позволяет использовать класс URI:

class Site extends Controller {

    function display($template, $page) {

        echo "display<br>";

        $this->load->library('uri');
        echo $this->uri->rsegment(1, 0)."<br>";
        echo $this->uri->rsegment(2, 0)."<br>";
        echo $this->uri->rsegment(3, 0)."<br>";
        echo $this->uri->rsegment(4, 0)."<br>";

    }

}

когда я захожу на страницу, она просто отображает

display
0
0
0
0

По сути, этот код должен загрузить шаблон, а затем передать ему $ page , чтобы он мог загрузить раздел веб-сайта. Таким образом, «контент» может использовать «основной шаблон» в качестве шаблона, а затем передавать «контент» ему в качестве страницы для загрузки. Но я также хочу иметь возможность передавать в него «/ products / what» и т. Д., Поэтому я хочу переключаться между сегментами URI, чтобы получить полный " путь " на страницу. Как я могу заставить это работать? И почему то, что у меня не работает?

Это было полезно?

Решение

Попробуйте избавиться от пробела в "главном шаблоне", используйте подчеркивание или camelCase его вместе, чтобы "mainTemplate". Я не могу вспомнить, когда в последний раз видел пробел в каком-либо маршруте или URL.

Другие советы

для этого вы добавляете пользовательские маршруты в файл /app/config/routes.php.

$route['title-of-the-page'] = "<controller>/<method>";
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top