开发者

Get data generated on another controller

开发者 https://www.devze.com 2023-03-12 09:42 出处:网络
I have a simple logic problem. I\'m s开发者_Python百科tarting on use CodeIgniter and I\'m understand the Controller concept now. The view, for instance, is used only to generate content (not pre-procc

I have a simple logic problem. I'm s开发者_Python百科tarting on use CodeIgniter and I'm understand the Controller concept now. The view, for instance, is used only to generate content (not pre-proccess data), controller to get all infos need to view. Fine.

My problem is: I have a poll that is called as /poll/1 from an iframe, and I like to print it in other moment on another controller. This path is relatives to Poll::index(1) (logically talking) and I'm on Content::index().

I don't found explanation for cases like that on the CI UserGuide.

How I do?

Thanks.

Edit: I'll do an example code:

class Blog extends CI_Controller {
    function index(){
         // Do some prints
         // Executes Poll::index(1), but store on some string
         // Do some prints
    }
}

class Poll extends CI_Controller {
    function index($id){
         // Do some prints
    }
}

The idea is that: /poll/1 works and /blog too (but this second will print more content, with the poll).


hummm interesting i think using ob_start() might just work for you, if it was me i would rather use a ajax call to display poll data

here is the code.

class Blog extends CI_Controller {
    function index(){
         // Do some prints

         // Executes Poll::index(1), but store on some string
         ob_start();
            Poll::index(1)

            // You can now use this $output value to display or store in db or store in session, 
            // but remember CI session can only hold upto certain length as it uses cookie
            $output = ob_get_contents();
        ob_end_clean();

         // Do some prints
    }
}

class Poll extends CI_Controller {
    function index($id){
         // Do some prints
    }
}


One way which is my favorite is use one as a super class so class Poll extends blog. This allows your poll to take advantage of your blog methods. Then you can use any parent methods and load the proper views in which ever class#method you want.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号