Библиотека URI codeigniter не работает
-
05-07-2019 - |
Вопрос
Я только изучаю 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>";