biblioteca codeigniter URI não funciona
-
05-07-2019 - |
Pergunta
Estou aprendendo codeigniter, e eu parecem ter executado em algo que é um pouco estranho. Eu estou usando o URI recurso, mas necessidade de encaminhamento para obter os segmentos URI da URI re-roteados.
Esta é uma das rotas:
$route['content'] = "site/display/main template/content";
e quando visitar http://lipsum.localhost/content
ele carrega o controlador, mas não vai me deixar usar a classe 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>";
}
}
quando eu visitar a página, ele só exibe
display 0 0 0 0
Basicamente, este código deve carregar um modelo e, em seguida, passar $page
a ele para que ele possa carregar uma seção de um website. Assim, 'conteúdo' pode usar 'modelo principal como o modelo e, em seguida, passar 'conteúdo' a ele como a página carregar. Mas eu também quero ser capaz de passar '/ products / whatever' a ela, etc - assim que eu quero percorrer os segmentos URI para obter o "path" completo para a página. Como posso fazê-lo funcionar? E, por que é que eu não trabalho?
Solução
Tente livrar-se do espaço em "template principal", use um sublinhado ou camelCase-lo juntos para "mainTemplate". Não me lembro a última vez que eu vi um espaço em qualquer tipo de rota ou url.
Outras dicas
para fazer que você adicionar rotas personalizadas para seu arquivo /app/config/routes.php.
$route['title-of-the-page'] = "<controller>/<method>";