Buenas, soy nuevo en esto y he decidido practicar con una web, esta tendrá categorías, subcategorías e items, bien, creo que puedo montar los requisitos poco a poco, pero el problema es que la url me queda de la siguiente manera:
www.miweb.com/category/categoriax
www.miweb.com/category/categoriax/subcategory/subcategoriax
www.miweb.com/category/categoriax/subcategory/subcategoriax/item/itemx
El resultado que quiero es :
www.miweb.com/categoriax
www.miweb.com/categoriax/subcategoriax
www.miweb.com/categoriax/subcategoriax/itemx
category, subcategory y item son parametros.
Decir que tengo pensado gestionarlo desde un solo controlador.
Sugerencias?
Gracias.
Edit: la pregunta es si se puede cambiar sin tocar el httacces.
Page 1 of 1
Problema Urls
#2
Posted 21 September 2012 - 05:01 AM
Creo que aquí encontrarás la solución:
http://www.yiiframew...1/en/topics.url
Se trata de configurar las rules de UrlManager en protected/config/main.php a tu gusto:
Con algo del tipo:
En ese link hay mucha información y ejemplos:
saludos
Jamon
http://www.yiiframew...1/en/topics.url
Se trata de configurar las rules de UrlManager en protected/config/main.php a tu gusto:
array(
......
'components'=>array(
......
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'pattern1'=>'route1',
'pattern2'=>'route2',
'pattern3'=>'route3',
),
),
),
);
Con algo del tipo:
'categoriax'=>'category/categoriax'
En ese link hay mucha información y ejemplos:
array(
'posts'=>'post/list',
'post/<id:\d+>'=>'post/read',
'post/<year:\d{4}>/<title>'=>'post/read',
)saludos
Jamon
#3
Posted 21 September 2012 - 05:37 AM
Voy a desarrollar algo mas la pregunta, una vez recibido si que creo ser capaz de gestionarla, el problema es que estoy utilizando el formato que te da el menu horizontal por defecto:
No tengo el codigo ahora mismo pero es algo parecido a:
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('',array('category'=>$mivariable,'subcategory'=>$variable))),
),
)); ?>
Esto me da www.miweb.com/category/micategoria/subcategory/misubcategoria.
Lo que quiero es que no se muestren el como se llama los parámetros get, en este caso category, subcategory.
Las variables son dinámicas, al ser dinámicas tienen que ser variables get si o si.
para recibirlos y gestionarlos al controlador creo que me puedo apañar.
<category>/<subcategory> => 'lo_que _interese'.
Gracias.
FIX: Vale, no estaba entendiendo bien el concepto, pero tienes razón, es muy simple con las url rules.
No tengo el codigo ahora mismo pero es algo parecido a:
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'Home', 'url'=>array('',array('category'=>$mivariable,'subcategory'=>$variable))),
),
)); ?>
Esto me da www.miweb.com/category/micategoria/subcategory/misubcategoria.
Lo que quiero es que no se muestren el como se llama los parámetros get, en este caso category, subcategory.
Las variables son dinámicas, al ser dinámicas tienen que ser variables get si o si.
para recibirlos y gestionarlos al controlador creo que me puedo apañar.
<category>/<subcategory> => 'lo_que _interese'.
Gracias.
FIX: Vale, no estaba entendiendo bien el concepto, pero tienes razón, es muy simple con las url rules.
#4
Posted 09 October 2012 - 12:26 PM
Alguien me puede explicar una duda,
He estado trabajando un poco en como quiero el diseño de las urls, y prácticamente ya lo tengo.
La duda viene en la parte de gestionarel admin-nombre
Esto me escribe www.miweb.com/admin-nombre/categoria/index
Pero si pongo en las reglas url esto:
admin/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
Esto me escribe www.miweb.com/admin/categoria/index , pero da error 404
El caso es que pasa una cosa curiosa, donde pone admin-nombre, si le llamo admin, hola o como quiera solo con una palabra No VA, da error 404, en cambio si pongo una palabra compuesta por -, espacio o lo que sea si, alguien tiene idea?
He estado trabajando un poco en como quiero el diseño de las urls, y prácticamente ya lo tengo.
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'rules'=>array(
/**************PAGINA PRINCIPAL***************/
'<category:\w+>/<subcategory:\w+>/<id:\w+>'=>'Web/item',
'<category:\w+>/<subcategory:\w+>'=>'Web/subcatego',
'<category:\w+>'=>'Web/catego',
'/'=>'Web/index',
/*************BACK END***************/
'admin-nombre/<controller:\w+>/<id:\d+>'=>'<controller>/view',
'admin-nombre/<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'admin-nombre/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
//'<admin>/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
),La duda viene en la parte de gestionarel admin-nombre
<?php $this->widget('zii.widgets.CMenu',array(
'items'=>array(
array('label'=>'About', 'url'=>array('Categorias/index')),
)); ?>Esto me escribe www.miweb.com/admin-nombre/categoria/index
Pero si pongo en las reglas url esto:
admin/<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
Esto me escribe www.miweb.com/admin/categoria/index , pero da error 404
El caso es que pasa una cosa curiosa, donde pone admin-nombre, si le llamo admin, hola o como quiera solo con una palabra No VA, da error 404, en cambio si pongo una palabra compuesta por -, espacio o lo que sea si, alguien tiene idea?
Share this topic:
Page 1 of 1

Help












