我有一个简单的逻辑问题。我开始使用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
也可以工作(但是第二个会打印更多内容,并通过民意调查)。
答案 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扩展了博客。这允许您的民意调查利用您的博客方法。然后你可以使用任何父方法并加载你想要的类#方法的正确视图。