Foros del Web » Programando para Internet » PHP » CodeIgniter »

[SOLUCIONADO] Rutas: ¿Cómo puedo pasar parámetros en lo métodos de rutas'

Estas en el tema de Rutas: ¿Cómo puedo pasar parámetros en lo métodos de rutas' en el foro de CodeIgniter en Foros del Web. Hola, Explico la pregunta porque así no ha quedado del todo clara. Sabemos que los modelos de las rutas en CodeIgniter son así: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 24/04/2015, 11:16
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 59
Antigüedad: 11 años, 2 meses
Puntos: 6
Rutas: ¿Cómo puedo pasar parámetros en lo métodos de rutas'

Hola,

Explico la pregunta porque así no ha quedado del todo clara. Sabemos que los modelos de las rutas en CodeIgniter son así:

Código PHP:
Ver original
  1. $route['pagina'] = 'controlador/metodo';

Pues bien, estoy haciendo una aplicación web y necesito crear rutas para páginas.

Tengo un método para páginas dentro de un controlador principal. El método se llama paginas que recibe como parámetro el nombre de la página, algo así:

Código PHP:
Ver original
  1. public function paginas($pagina){
  2.  
  3. }
´

Lo que hace internamente el metodo es buscar en una carpeta de las vistas si la variable que paso $pagina existe como $pagina.php

Si la hay la muestra, si no existe entonces muestra el error 404.

El problema y lo que no sé como soluionar es que necesito pasar ese parámetro a ese método dentro del archivo "routes.php".

Por ejemplo:

Código PHP:
Ver original
  1. $route['servicios'] = 'controlador_principal/paginas/servicios';
  2. $route['servicio/tarifas'] = 'controlador_principal/paginas/tarifas_servicio';
Y así con todas las páginas.

Espero me podáis ayuda, un fuerte abrazo y muchas gracias de antemano.
  #2 (permalink)  
Antiguo 26/04/2015, 11:26
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 59
Antigüedad: 11 años, 2 meses
Puntos: 6
De acuerdo Respuesta: Rutas: ¿Cómo puedo pasar parámetros en lo métodos de rutas'

Por si alguien tiene mi misma duda en un futuro dejo la respuesta que la he encontrado.

Era bastante sencilla la verdad, pero me ha costado :)

La solución es mediante una "expresión regular" pasarlo cómo parametro las palabras exactas que quieras. Con un ejemplo se ve mejor.

Código PHP:
Ver original
  1. /*Routes.php*/
  2.  
  3. $route['(pagina)'] = controlador_de_paginas/$1;
  4. $route['(pagina)/(subpagina)'] = controlador_de_paginas/$1/$2;

Veo una mejor solución a la de poner como parámetros (:any) puesto que así dejo definidas las páginas que realmente quiero y puedo meter un módulo dentro sin tener que definir todas las rutas de este módulo puesto que seguiría la ruta controlador/método/variables

Espero le sirva a alguien.

Un abrazo

Etiquetas: rutas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:32.