获取在另一个控制器上生成的数

时间:2011-06-10 03:49:20

标签: codeigniter controller

我有一个简单的逻辑问题。我开始使用CodeIgniter,我现在理解Controller概念。例如,视图仅用于生成内容(不是预处理数据),控制器用于获取所有需要查看的信息。细

我的问题是:我有一个来自iframe的调用/poll/1,我喜欢在另一个控制器上打印它。此路径是Poll::index(1)的亲戚(逻辑上说话),我在Content::index()

我没有在CI UserGuide上找到类似案例的解释。

我怎么做?

感谢。

修改:我将做一个示例代码:

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
    }
}

这个想法是:/poll/1也可以工作,/blog也可以工作(但是第二个会打印更多内容,并通过民意调查)。

2 个答案:

答案 0 :(得分:1)

哼哼有趣我认为使用ob_start()可能对你有用,如果是我,我宁愿使用ajax调用来显示民意调查数据

这是代码。

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
    }
}

答案 1 :(得分:0)

我最喜欢的一种方法是使用一个作为超级类,所以类Poll扩展了博客。这允许您的民意调查利用您的博客方法。然后你可以使用任何父方法并加载你想要的类#方法的正确视图。