2014-02-18 108 views
0

我如何訪問傳遞給控制器​​的數組的數組? 應用SEO鏈接Basicaly之前有在我看來(簡體)規則:Yii解析Urlmanager鏈接返回數組

foreach(....){ 
$_GET['filter']=$value; 
$link=$this->createUrl('models/showModels',$_GET); 
echo CHtml::link(Yii::t('main',$value),$link); 
} 

但應用urlManager $ _ GET變量成爲空,並設置停車不確定是否有這樣的規則工作崗位。

我只是發現用一些「魔術」的方法,它在CLinkPager模塊中完成,但無法理解如何。

+0

數組元素總是通過使用鍵來訪問。你已經完成了你的代碼。通過使用$ _GET ['filter'],您可以訪問get數組中的「filter」鍵的值。 –

+0

您在createUrl中使用$ _GET之前檢查過它是否爲空? –

+0

只要UrlManager規則appliet「舊」的網址像aaa.com/show?brand=BMW成爲新的SEO友好:aaa.com/BMW 由於這個原因$ _GET總是emty和「解析」變量存儲在別處。現在我試圖找出存儲的位置以及我如何訪問它。 –

回答

1

Yii中你可以用下面的方法PARAM:

Yii::app()->request->getParam('param_name'); 
// for example getParam('filter') 
// OR Yii::app()->request->getQuery('$_GET KEY'); 

爲了合併PARAMS到$ _GET要求:

CMap::mergeArray($_GET, array('filter' => 'value')) 

爲了讓所有PARAMS:

Yii::app()->request->getQueryString(); 

此外,Yii有一個強大的方法來獲得Dump,我建議您使用它:

CVarDumper::dump($_GET,34567,true);