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?

Foi útil?

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>";
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top