Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Formatar A Url

$
0
0
Olá pessoal.

Estou com dúvidas para formatar minha url, para deixa-la amigável. Na minha tabela eu tenho um campo slug, que é unique (não podendo se repetir valor), fiz a chamada pelo controller, só que quando vou mostrar aparece o seguinte na barra de endereço: ...portalsite/meucontroller/produto?p=meu-produto-teste-2 , sendo que eu queria que aparecesse ...portalsite/meucontroller/produto/meu-produto-teste-2. Fiz parecido com o que gero no crud gii, onde ele passa o id como variável para a view, só que não deu certo.

Tem como é que posso fazer isso?

Métodos no controller:

public function actionProduto($p){
		$this->render('produto',array(
				'model'=>$this->loadSlugModel($p),
		));
	}

public function loadSlugModel($p)
	{
		$model=MERCext_Produtos::model()->find("slug = '".$p."'");
		if($model===null)
			throw new CHttpException(404,'OPS! A requisição dessa página é inválida.');
		return $model;
	}


Tentei fazer da seguinte forma na main.php

'urlManager'=>array(
			'urlFormat'=>'path',
			'showScriptName'=>false,
			'rules'=>array(
				'<controller:\w+>/<id:\d+>'=>'<controller>/view',
				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
				'<controller:\w+>/<action:\w+>/<p:\w+>'=>'<controller>/produto',
				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
			),
		),

Viewing all articles
Browse latest Browse all 18717

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>