2013-04-24 52 views
0

我正在爲我的圖像網站編寫控制面板。我有一個控制器稱爲類,看起來像這樣:如何在ci上創建方法

class category extends ci_controller 
{ 
    function index(){}// the default and when it called it returns all categories 

    function edit(){} 

    function delete(){} 

    function get_posts($id)//to get all the posts associated with submitted category name 
    { 

    } 
} 

我需要的是當我打電話http://mysite/category/category_name我得到的所有職位,而無需調用get_posts()不必從URL調用它的方法。

我想不使用.haccess文件或路由。

有沒有辦法在CodeIgniter中實時創建方法?

+0

這正是什麼路線是... – jcorry 2013-04-24 18:37:58

+0

...看到這裏:http://ellislab.com/codeigniter/user-guide/general/routing.html – complex857 2013-04-24 18:38:22

+0

我知道,我想讓你給我路線條件,區分控制器方法和類別管理器 – mohammed 2013-04-24 18:51:56

回答

1
function index(){ 
    $category = $this->uri->segment(2); 
    if($category) 
    { 
     get_posts($category); // you need to get id in there or before. 
    } 

    // handle view stuff here 

} 

我讀你的請求的方式是,你想索引來處理所有的事情根據是否有一個類別在URI段。你可以這樣做,但真的,你爲什麼?

堅持不使用框架的正常功能而不解釋你不想要的原因是不合邏輯的。如果您有權訪問此控制器,則可以訪問路線。那麼你爲什麼不想使用它們?

編輯

$route['category/:any'] = "category/get_posts"; 

,將發送編輯和刪除get_posts,但你也可以只定義這些類路徑上面

$route['category/edit/:num'] = "category/edit"; 
$route['category/delete/:num'] = "category/delete"; 
$route['category/:any'] = "category/get_posts"; 

這將解決的編輯和類別之前刪除取。既然你只有兩種方法衝突,那麼這應該不是真正的問題。

+0

如果我使用類似$ route ['category /:any'] =「某個控制器/方法」;它將所有其他方法路由到相同的控制器/方法 我想只是貓的名字去正確的方法 – mohammed 2013-04-24 18:48:24

+0

我更新了一個工作周圍 – 2013-04-24 18:57:45

+0

謝謝這工作得很好。但沒有人回答了這個:有沒有去在CI – mohammed 2013-04-24 19:18:30