如何给frame传递参数
网站的目录结构为chip(网站页面碎片存放目录)
css(css文件存放目录)
img(图片存放目录)
js(js存放目录)
system(CI框架目录)
|--
......
......
|-application
|-controllers
|-client.php
................
................
|-views
|-index.php
index.php 文件代码如下
<html>
<head>
<title>管理中心</title>
<meta http-equiv=Content-Type content=text/html;charset=utf-8>
</head>
<frameset rows="64,*"frameborder="NO" border="0" framespacing="0">
<frame src="/chip/admin_top.php" noresize="noresize" frameborder="NO" name="topFrame" scrolling="no" marginwidth="0" marginheight="0" target="main" />
<frameset cols="200,*"rows="560,*" id="frame">
<frame src="/chip/left.php" name="leftFrame" noresize="noresize" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" target="main" />
<frame src="/chip/right.php" name="main" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" target="_self" />
</frameset>
<noframes>
<body></body>
</noframes>
</html>
通过控制器加载试图文件 index.php 一切正常,但是我想给left.php传递参数,使用$this->load->view("index",$data);总是传递不成功。
按照http://codeigniter.org.cn/forums/thread-82-1-1.html这里的方法可以传递参数,但是如果我有很多页面,控制器就会变得很大。使用上面的那种加载方法,如何传递参数呢,请高手指教。 你需要单独为left.php做一个控制器 http://codeigniter.org.cn/forums/thread-82-1-1.html
上面的帖子已经讲解的很详细了,但这一句“如果我有很多页面,控制器就会变得很大。”不明白是什么意思,页面多了可以分控制器啊,而且你的frame页面也不会太多吧,你总不能吧所有的功能放在一个文件中吧? left.php top.php right.php 分别在控制器中设置3个方法与之对应,你的控制器多两个函数不会有什么影响
实话告诉你,这就是最好的方法 如果我的 左边frame有50个列表项 那么右边frame就有对应的50个页面,控制器中也要有50个对应
function xxx(){
$this->load->view('xxx');
}
这样写是不是太麻烦了,真的没有办法实现
function cc(){
$this->load->view('index',$data);
}
让index.php中的frame 直接接收$data 中的参数么? :( 好像我想的有点儿错误,试验中。。。。。。 frame 传参和 CI 无关吧!主页面和frame之间是两个请求,这之间传递数据和纯 PHP 有什么区别吗?以前用纯 PHP 怎么传递参数呢??? 老大终于出来了,呵呵。
控制器中
function ss(){
//加载模型获取参数值
$this->load->model('ddd') ;
$data["dd"] = $this->ddd->sss();
$this->load->view("index",$data);
}
视图 index.php 中是frame框架,就像最上面的框架代码一样,视图index.php中的框架好像接收不到通过$data传进来的值。
页:
[1]