我尝试在iframe中加载codeigniter视图,
<iframe src="<?php $this->load->view('lists');?/>"></iframe>
但页面无法加载。
随着我的框架工作。
如何在iframe中加载此视图?
答案 0 :(得分:6)
在控制器中创建一个功能
//project.php
function view_list()
{
$this->load->view('lists');
}
并在视图页面中调用
<iframe src="<?php echo site_url('project/view_list');?>">> </iframe>
答案 1 :(得分:1)
我想用多个视图平铺一个网站,每个视图都在自己的iframe中,这就是我所做的:
控制器 book.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Book extends CI_Controller {
public function index(){
$this->shell();
}
public function shell(){
$data['title'] = "Home";
$data['frames'] = array(
"book/events"
,"book/sales"
,"book/purchases"
,"book/cashflows"
);
$this->load->view("shell", $data);
}
public function events(){
$this->load->view("events");
}
public function sales(){
$this->load->view("sales");
}
public function purchases(){
$this->load->view("purchases");
}
public function cashflows(){
$this->load->view("cashflows");
}
}
视图 shell.php 包含一个foreach语句,让我动态传递切片。请注意每个站点的URL是如何写在^^上面的控制器中的(例如&#34; book / events&#34;)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title><?php echo $title ?></title>
</head>
<body>
<?php foreach ($frames as $frame):?>
<iframe src="<?php echo $frame?>"></iframe>
<?php endforeach;?>
<div class="footer">
Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
</body>
</html>
然后每个瓷砖都是它自己的网站,就像这样:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Events</title>
</head>
<body>
<div class="header">Events</div>
<div class="content"> Bla bla bla you have no money</div>
<div class="footer">
Page rendered in <strong>{elapsed_time}</strong> seconds</p>
</div>
</body>
</html>
答案 2 :(得分:0)
这是因为iframe在另一个页面上? 您尚未在该页面上指定控制器功能,因此它无法识别视图。我认为您必须将视图中的控制器日期放入您拥有iframe的视图的功能中,所以喜欢这个。
function list_view()
{
//functions for your listview
}
function viewforiframe()
{
//function for you view where the iframe is located
+
//functions for your listview
}
注意:Deon给出的答案也是值得关注的。如果没有良好的链接,你将永远看不到视图。
答案 3 :(得分:0)
您无法将纯HTML分配给iframe元素src属性。你应该有一个控制器来渲染你的html,然后将src属性设置为该控制器。
<iframe src="<?php echo base_url( 'controller_that_render_list_html' ) ?>"></iframe>