我想在一个用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经验的人能告诉我它是怎么回事 应该做什么?
谢谢!
答案 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);
}
}