Para poder acceder al módulo productos, yo entro a la URL:
http://mysitio.com/locales/productos
Ahora, supongamos que yo quisiera ver los productos correspondientes al local con ID 1, por lo tanto, necesito pasarle ese ID de local al módulo productos.
¿Cómo podría pasarle este parametro? ¿Por GET? ¿De qué forma?
Si pongo
http://mysitio.com/locales/productos?id_local=1
funciona, pero, ¿es correcto así? ¿Cómo se puede hacer amigable ese parámetro?
Luego, si quiero ver el detalle del producto 1, correspondiente al local 1, ¿cómo le entrego al controlador de productos el ID del producto y el ID del local ¿Por GET igualmente?
Esa es la duda, le doy mil vueltas pero no me cuadra la estructura de lo que quiero hacer.
En el controlador de productos debes tener dos actions, una para ver los productos del local(admin) y otra para ver el detalle del producto(view)
public function actionAdmin($localId)
{
...
$this->render('admin', array('localId' => $localId))
}
public function actionView($productoId)
{
...
$this->render('view', array('productoId' => $productoId))
}
y para crear la url para ver los productos del local es
En primer lugar no sabemos lo que tienes en tus views, por lo que sería bueno que nos lo mostrases.
Pero supongo que tendrás un link o botón (dentro o fuera de un CGridVew, es lo mismo) que te rediriga a la acción que desees. Pues ese link o botón tendrá una url destino, y ahí es donde tienes que pasarle el identificador del local.
Para el detalle de productos es lo mismo, pero con otra acción, tal y como te escribió a1827.