ciao a tutti, ho un problemino da risolvere:
ho un modello Post che contiene questa funzione
public function getUrl() {
return Yii::app()->createUrl('post/view', array(
'id' => $this->id,
'slug' => $this->slug,
));
}
e in main.php nelle rules di urlManager ho
'news/<slug>/<id:\d+>' => 'post/view',
in pratica vorrei ottenere un url che sia nel formato /news/slug/id
ora, la regola funziona e mi porta a vedere l’articolo corretto quando richiamo il link in quel formato
invece la funzione getUrl, che dovrebbe costruirmelo in quel modo, mi restituisce un link in questo formato /post/id?slug=valoreslug, ad esempio /post/1?slug=titolo-notizia
ora credo che il problema dipenda dal fatto che il controller si chiama post ma lo shortlink che voglio io si chiama news… come posso risolvere?
grazie in anticipo
P.S.: provando a fare una cosa apparentemente stupida come questa
return Yii::app()->createUrl('news/', array(
'id' => $this->id,
'slug' => $this->slug,
));
già il risultato migliora diventando: /news/id/1/slug/titolo-notizia
ma id e slug non dovrebbero esserci
se invece provo con
return Yii::app()->createUrl('news/', array(
$this->id,
$this->slug,
));
il risultato è /news/0/1/1/titolo-news
P.P.S.: ovviamente ho ‘urlFormat’ => ‘path’