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

进入网址

forum/any-value/thread/2 或 forum/php-for-newbies/thread/2

对不起我的英语,非常感谢

4

2 回答 2

0

尝试这个: '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))

于 2013-07-30T20:36:13.077 回答
0

URL 管理器规则应如下所示:

'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
}
于 2013-07-30T21:16:12.860 回答