用于将页面加载到iframe的CI控制器

时间:2011-12-12 12:41:11

标签: php codeigniter iframe

我想在一个用CI制作的网站中实现一个新模块。我是CI的绝对新手,我无法弄清楚如何创建控制器和视图文件。我需要将新内容加载到当前站点的iframe中。到目前为止,我有:

控制器:

class Module extends Controller {

    function __construct() {
            parent::Controller();

    }

    function index() {
            $this->common->loadView('module/module');
    }
}

视图:

<iframe src="/new_module/index.php" width="100%" height="100%" scrolling="NO" frameborder="0" >An iframe capable browser is required to view this web site.</iframe>

路线:

$route['module/(:any)'] = "module/$1";

网站结构:

resources/
system/
....
new_module/
new_module/index.php
new_module/page1.php
new_module/page2.php

链接应该是:

http://mydomain.com/module/page1
http://mydomain.com/module/page2

该链接位于iframe之外,内容应加载到iframe中。因此,iframe src应该动态更改。

显然,它不起作用。有更多CI经验的人能告诉我它是怎么回事 应该做什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

要动态更改框架,只需将链接的目标设置为iframe:

<a href="/pages/page/1" target="targetFrame">Page 1</a>
<iframe id="targetFrame" src="" width="100%" height="100%" scrolling="NO" frameborder="0" ></iframe>  

据我了解,默认情况下,Codeigniter没有“模块”。除非您使用CMS或基于CI构建的某些内容,否则您需要指定它。

否则,只需正确使用控制器即可获得所需内容。

class Pages extends Controller{

    public function page($id='')
    {
        switch $id{
            case 1:
                $data['pageData']='foo';
            break;
            ...
        }
        $this->load->view('page_view',$data);
    }
}