2012-12-21 5 views
0

Я хочу настроить пользовательский URL-адрес в Yii. Я застрял на последнем шаге. Это, как я создаю URL:Пользовательский URL-адрес в Yii

$a->url = Yii::app()->createUrl('view/profile',array('uid'=>$a->userid,'type'=>$a->type,'specialty'=>$specialty,'locality'=>$locality)) ; 

Это как у меня есть правило в конфигурационном файле:

'profile<uid:\w+>_<type:\w+>/'=>'view/profile, 

Это работает отлично, за исключением, что URL, который генерируется является:

http://localhost/dev/profile122_doctor?specialty=Cardiology&locality=Times+Square 

Я хочу, чтобы URL был чище, что-то вроде этих строк:

http://localhost/dev/profile122_doctor/specialty-Cardiology-near-Times-Square 

Можно ли это сделать? Какие-либо предложения ? Для корректной работы URL-адреса требуются только переменные uid и type. Остальная информация необходима для SEO.

ответ

2

Вы можете определить свой собственный класс URL правила, таким образом, вы будете иметь больше свободы по синтаксису:

Using Custom URL Rule Classes in Yii

+0

Я настроен класс, однако я снова застрял, как указать его в файл конфигурации, чтобы правило применялось только в конкретном случае? Как указать то же самое при использовании Yii :: app() -> createUrl для создания URL-адреса? –

+0

Каков ваш конкретный случай? Вы должны поместить свой вновь созданный в первую очередь и по умолчанию один раз, так что, если конкретное правило не применимо, вы отступите на другом – darkheir

+0

. Мой конкретный сценарий - тот, что указан в вышеперечисленном вопросе, все остальное имеет этот тип: / '=>' / ', Я изменил место размещения (размещение собственного массива классов сверху), но в конечном итоге оно применяет правило пользовательского класса ко всем случаям. –

Смежные вопросы