Yii Framework Forum: Problema Urls - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Problema Urls Rate Topic: -----

#1 User is offline   carlosyii 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 20-September 12

Posted 20 September 2012 - 02:41 PM

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.
0

#2 User is offline   jamon 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 13
  • Joined: 09-March 11

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:
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
0

#3 User is offline   carlosyii 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 20-September 12

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.
0

#4 User is offline   carlosyii 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 15
  • Joined: 20-September 12

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.

'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?
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users