2011-05-09 45 views
0

我遇到問題。我已經使用'_remap'函數覆蓋了CI對方法的默認調用。當我傳遞一個參數時,這一切都按我應該的方式工作,這當然是重寫方法(uri的第二部分)。但是,按照用戶指南的說明,當我嘗試通過下面的方法檢索URL的其他部分時,$ params數組是空的?我在main_view的$ a變量上使用了一個var轉儲,並且它始終顯示該數組是空的,即使uri的第三部分存在。Codeigniter:'_remap'第二個參數(應該是url段)正在返回空嗎?

CI用戶指南指出'方法名稱作爲可選的第二個參數傳遞給_remap()之後的任何額外的段「(http://codeigniter.com/user_guide/general/controllers.html)似乎並非如此。有誰知道我可能會做錯什麼?

class Services extends Controller { 
var $group = 'services'; 
function Services() 
{ 
    parent::Controller(); 
    $this->load->helper('url'); 
} 

public function _remap($subPage, $params = array()){ 

    $pageData = $this->page_builder->buildPage($this->group,$subPage); 
    if($subPage != 'index'){ $pageData['thisPage'] = $this->group .'/' . $subPage; } 
    else{ $pageData['thisPage'] = $this->group; } 
    $pageData['a'] = $params; 
    $this->load->view('main_view', $pageData); 
} 

}

感謝。

+0

........沒人? – Inigo 2011-05-10 09:44:02

回答

1

我也曾經有過類似的問題,所以我做了一個小的調整,爲我工作:

$segs = $this->uri->segment_array(); 
     $params=array_slice($segs, array_search($method, $segs)); 
相關問題