【发布时间】:2014-02-18 06:33:42
【问题描述】:
如何访问在视图中传递给控制器操作的参数数组? 基本上在应用 SEO 链接之前,我的视图中有规则(简化):
foreach(....){
$_GET['filter']=$value;
$link=$this->createUrl('models/showModels',$_GET);
echo CHtml::link(Yii::t('main',$value),$link);
}
但是在应用 urlManager $_GET 变量后变为空,并且这些规则设置肯定会停止工作。
我只是发现在 CLinkPager 模块中使用一些“魔术”方法可以完成,但不明白如何。
【问题讨论】:
-
数组元素总是使用键访问。你已经完成了你的代码。通过使用 $_GET['filter'] 您正在访问 get 数组中键“filter”的值。
-
在 createUrl 中使用 $_GET 之前是否检查过它不为空?
-
一旦 UrlManager 规则应用“旧”网址,如 aaa.com/show?brand=BMW 变得对新的 SEO 友好:aaa.com/BMW 由于这个原因 $_GET 始终为空且“已解析” " 变量存储在其他地方。现在我试图找出它的存储位置以及如何访问它。
标签: php yii params yii-url-manager