Pregunta

Solo estoy aprendiendo codeigniter, y parece que me he encontrado con algo que es un poco extraño. Estoy usando la función de enrutamiento URI pero necesito obtener los segmentos URI del URI reenrutado.

Esta es una de las rutas:

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

y al visitar http: //lipsum.localhost/content carga el controlador, pero no me deja usar la clase 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>";

    }

}

cuando visito la página, solo se muestra

display
0
0
0
0

Básicamente, este código debe cargar una plantilla y luego pasarle $ page para que pueda cargar una sección de un sitio web. Por lo tanto, 'contenido' podría usar 'plantilla principal' como plantilla, y luego pasarle 'contenido' como la página para cargar. Pero también quiero poder pasar '/ productos / lo que sea', etc., por lo que quiero recorrer los segmentos de URI para obtener la '' ruta '' completa. a la página ¿Cómo puedo hacer que funcione? Y, ¿por qué lo que no tengo funciona?

¿Fue útil?

Solución

Intente deshacerse del espacio en la "plantilla principal", use un guión bajo o camello y cúbralo para "mainTemplate". No recuerdo la última vez que vi un espacio en algún tipo de ruta o url.

Otros consejos

para hacer eso, agrega rutas personalizadas a su archivo /app/config/routes.php.

$route['title-of-the-page'] = "<controller>/<method>";
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top