Yii Url参数自动放置在URL中

时间:2013-06-18 06:28:20

标签: php yii

您好(对不起我的英文......)

我在Yii得到了一个应用。我根据$_GET['project']选择不同的数据库。我的网址看起来像我ndex.php?r=controler/action&project=MyProject

但我必须将&project=..添加到我网站上的每个链接,如何让Yii自动执行?

1 个答案:

答案 0 :(得分:1)

如果您使用CUrlManager::createUrl()(或其他createUrl()个变体之一)来创建链接,则可以在自己的自定义UrlManager中覆盖它:

class UrlManager extends CUrlManager {
  public function createUrl($route, $params=array(), $ampersand='&') {
    isset($params['project']) || $params['project'] = 'MyProject';
    return parent::createUrl($route, $params, $ampersand);
  }
}

然后在您的配置中确保使用您自己的自定义UrlManager类:

return array(
  ...

  'components' => array(
    'urlManager' => array(
      'class' => 'UrlManager',
    ),
  ),

  ...
);