Как написать правило URL в фреймворке Yii?

<?php echo CHtml::link($value->title, array(Yii::app()->createUrl('forum/thread', array('id'=>$value->thread_id)))); ?>

я получил ссылку

Форум / Тема /2

в моих правилах urlManager 'thread/<id:\d+>' => 'forum/thread',

как изменить правило и метод createUrl?

createUrl('any-value/forum/thread', array('id'=>$value->thread_id))

попасть в URL

форум / любое значение / тема /2 или форум /php-для-новичков / тема /2

Я прошу прощения за мой английский, большое спасибо

2 ответа

Решение

Правило URL Manager должно выглядеть так:

'forum/<title:\w+>/thread/<id:\d+>' => 'forum/thread', //make sure this is listed first so it has priority
'thread/<id:\d+>' => 'forum/thread',

Тогда в вашем контроллере у вас будет это:

public function actionThread($id,$title=null) {
    //$title will contain title from url if sent
}

Попробуй это:'forum/any-value/thread/<id:\d+>' => 'any-value/forum/thread',

и с этим: createUrl('any-value/forum/thread', array('id'=>$value->thread_id))Так что вы должны получить forum/any-value/thread/2

это должно работать!

Но если вы внутри модуля под названием forum тогда вы бы сделали так:

'any-value/thread/<id:\d+>' => 'any-value/forum/thread',

и с этим: createUrl('any-value/forum/thread', array('id'=>$value->thread_id))

Другие вопросы по тегам