我有一个子类,可以自定义地解析扩展了CBaseUrlRule的URL。
parseUrl()
函数必须返回'controller/action'
的字符串,但我想要做的是能够将命名参数传递给该操作。这可能吗?
例如,网址可能是:
catalogName
/品牌/ brandName
/产品/ productname
/
我想要的是将该路径重定向到Catalog的索引操作,该操作具有:
public function actionIndex($catalogName, $brandName, $productName) {
//do smthng
}
我会制作一个简单的网址规则,但之后我需要该类在解析网址之前处理某些信息。
答案 0 :(得分:0)
您可以通过在main.php中定义Named Parameter来使用rules,例如:
array(
'components' => array(
......
'urlManager' => array(
'urlFormat' => 'path',
'rules' => array(
'<catalogName>/brand/<brandName>/product/<productname>/' => 'catalog/index',
),
),
),
);