由CMenu和CBreadcrumbs生成的网址包含百分比编码字符

时间:2013-11-23 16:20:07

标签: url yii

当我从CMenu或CBreadcrumb创建链接时,参数被百分比编码的字符包围。这会导致无效的请求错误。

$this->menu=array(
    array('label'=>'View partner', 'url'=>array('partner/view/', array('id'=>1337))),
);

生成

index.php?r=partner/view&0%5Bid%5D=1337

的百分比编码等价物
index.php?r=partner/view&0[id]=1337

$this->createUrl('partner/view/', array('id'=>1337)));

生成

index.php?r=partner/view&id=1337

这是正确的。我该如何解决这个问题?

我使用Yii 1.1.14。

1 个答案:

答案 0 :(得分:1)

我认为传递的网址格式错误。根据{{​​3}}文档,它应该是这样的:

$this->menu=array(
    array('label'=>'View partner', 'url'=>array('partner/view/', 'id'=>1337)),
);