2012-06-29 38 views
0

這個問題與其他控制器看起來是一樣的,但它實際上是不同的。codeigniter通過從另一個控制器調用視圖來加載視圖中的視圖

情況是這樣的: 我有2個控制器,即controller_1和controller_2。 我有幾個意見,但爲了這種情況的目的,我會給view_1和view_2。

在調用controller_2的索引時,它將在view_2中呈現菜單。在這個菜單中,一個特定的鏈接應該在view_2的div內加載view_1。

問題是,我已經在controller_1中創建了一個函數,該函數將加載view_1和模型中需要的所有數據。當然,我可以在controller_2中再次加載模型,但事實是,我將重複在controller_1的一個函數中發現的代碼。順便說一句,controller_1的行爲像一個crud,而controller_2就像一個模塊的控制器,它涉及幾個crud的菜單。

那我該怎麼做呢?如何通過調用controller_1調用view_1在view_2中調用view_1以加載view_1並使用controller_2將其插入到view_2中?編輯:如果你熟悉struts(老版本)的Tiles,那就是我在這裏想要完成的類似的事情。

+0

你的問題到底是什麼?你想從另一個控制器訪問控制器的方法嗎? – Robert

+0

@Robert對不起,我忘記了我的問題。我已經編輯過了。 – braindead

+2

如何將準備view_2的代碼放入助手或庫中,然後將其加載到controller_1和controller_2中? – danneth

回答

0

我認爲,如果你只是使用來自Controller_2的方法重定向:

Controller_2{ 
    function_to_call_a_method_from_controller_1{ 

     // You have to call the method of Controller 1 
     return redirect('controller_1/function_of_controller_1_to_load_view'); 
    } 


    } 
0

在代碼點火器,當您需要使用相同的邏輯在多個地方,通常你創建一個helperlibrary

相關問題