2012-02-17 69 views
0

我试图在codeigniter中使用重映射函数,但它不起作用。我有一个名为submit_me的方法,我将其转换为URL中的submit-me。我读了我可以使用_remap函数,但不幸的是我无法使用它。codeigniter中的_remap函数

public function _remap($method) 
{ 
    if($method == 'submit-me') 
    { 
     $this->submit_me(); 
    } 
    else 
    { 
     $this->index(); 
    } 
} 

这是正确的用法吗?

+1

事情检查:你有任何路线设置在路线配置文件,可能会搞砸了吗?尝试调用此方法时,您使用的URL是否正确?你真的看到了什么页面?索引页面? – Catfish 2012-02-17 20:55:55

+0

@Catfish谢谢......我解决了这个问题......你的第二个问题是我没有在我的应用程序中 – 2012-02-17 21:03:40

回答

2

_remap()用于呼叫类别。

示例:

我正在为电视制作公司建立一个网站。需要一个部分来展示他们的作品。这些作品属于类别:事实,戏剧,事件,孩子和联合制作。

URL的控制器名称后段被自动作为参数

function _remap($method){ 

    if($method == 'current' || 
     $method == 'factual' || 
     $method == 'kids' || 
     $method == 'drama' || 
     $method == 'events' || 
     $method == 'co') 
    { 

我用段经过(4)这里我使用URI语言类,其中前增加了附加段控制器,所以通常段(3)将是好的

 $this->genre($method, $this->uri->segment(4)); 
    }else{ 
     $this->index(); 
    } 

} 

function index(){ 

    redirect('productions/current'); 

}