我有个问题。我已经使用“_remap”函数覆盖了 CI 对方法的默认调用。当我传递一个参数时,这一切都可以正常工作,这当然是被覆盖的方法(uri的第二段)。但是,按照用户指南的说明,当我尝试通过以下方法检索 url 的其他段时,$params 数组为空?我在 main_view 上的 $a 变量上使用了 var 转储,它始终显示数组为空,即使存在 uri 的第 3 段也是如此。
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);
}
}
谢谢。