用户
 找回密码
 入住 CI 中国社区
搜索
查看: 13017|回复: 15
收起左侧

[已解决] ++++++紧急求救+++++++++为什么CodeIgniter不能使用Frameset或Iframe????

[复制链接]
发表于 2007-11-30 09:43:26 | 显示全部楼层 |阅读模式
这个问题搞一两天了,一直没有进展,现在发现是Code框架的问题还是我的设置问题,
请大家来帮忙???

紧急....谢谢....

以下是我的文件,
HTML复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html><head><title> 在线目录后台 </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<frameset rows="60,*,27" frameborder="no" border="0" framespacing="0">
  <frame src="./system/application/views/admin/top.php" name="topFrame" scrolling="no">
  <frameset rows="*" cols="0,*" name="ecc" framespacing="0" frameborder="no" border="0">
    <frame src="menu.php" name="mainFrame" border="0" scrolling="no">
    <frame src="main.php" name="rightFrame" scrolling="auto">
  </frameset>
  <frame src="bottom.php" name="bottomFrame" scrolling="no">
</frameset>
</html>
复制代码
其它的几个文件都在views/admin/下面..

也就是这些都在同一级目录下面..

请大家帮忙看下...管理员谢谢你能及时给个回答....
发表于 2007-11-30 09:53:50 | 显示全部楼层
显然你没有搞清楚 CI 的URL应该怎么写。
src="./system/application/views/admin/top.php"
这里应该是控制器的 URL 而不是他的实际路径,应该是 /index.php/控制器/方法

我在这里说明一下,视图不能直接调用!!!需要由控制器来调用!
视图可以嵌套视图,但不能用 src="" 这种嵌套!
发表于 2007-11-30 09:54:29 | 显示全部楼层
你应该在弄一个控制器来装载 ./system/application/views/admin/top.php 视图!
 楼主| 发表于 2007-11-30 17:42:04 | 显示全部楼层
管理员
"视图可以嵌套视图,但不能用 src="" 这种嵌套!"
那应该如何用?

请给一个实例,好吗?
发表于 2007-11-30 17:57:21 | 显示全部楼层
建议:在视图里所有引用控制器方法的地方全部用 site_url() 辅助函数。
例如:
<a href="<?php echo site_url('控制器/方法');?>">某个页面</a>

注意,一定要装载 URL 辅助函数!
发表于 2007-12-3 00:15:39 | 显示全部楼层
在控制器里写显示各个view 的方法
PHP复制代码
class Welcome extents Control
{
    function index() {
        $this->load->view('admin/index');
    }
    function top() {
        $this->load->view(’admin/top‘);
    }
    function menu() {
        $this->load->view(’admin/menu‘);
    }
    function main() {
        $this->load->view(’admin/main‘);
    }
    function bottom() {
        $this->load->view(’admin/bottom‘);
    }
}
复制代码


admin/index.php内容:
HTML复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html><head><title> 在线目录后台 </title>
<meta http-equiv="Content-Type" c>
</head>
<frameset rows="60,*,27" frameborder="no" border="0" framespacing="0">
  <frame src="Welcome/top" name="topFrame" scrolling="no">
  <frameset rows="*" cols="0,*" name="ecc" framespacing="0" frameborder="no" border="0">
    <frame src="Welcome/menu" name="mainFrame" border="0" scrolling="no">
    <frame src="Welcome/main" name="rightFrame" scrolling="auto">
  </frameset>
  <frame src="Welcome/bottom" name="bottomFrame" scrolling="no">
</frameset>
</html>
复制代码
发表于 2007-12-3 09:37:47 | 显示全部楼层
顶!楼上的!
发表于 2007-12-11 23:31:38 | 显示全部楼层

恩。。不错。。

顶了。。 要是早贴出来。。当初我学的时候就不用那么费劲了。。
发表于 2007-12-12 11:39:07 | 显示全部楼层
我修改了一下代码,现在好看多了~~
发表于 2008-10-14 00:47:09 | 显示全部楼层
如果页面很多,这个控制器会越来越大,显得不够灵活.
版主有没有好方案.

原帖由 doutu 于 2007-12-3 00:15 发表
在控制器里写显示各个view 的方法
class Welcome extents Control
{
    function index() {
        $this->load->view('admin/index');
    }
    function top() {
        $this->load->view(’admin/top‘);
   ...

本版积分规则