我有4页视图,例如
layout/header.php,
layout/header_assets.php,
user/main.php,
layout/footer.php
我想加载这些多视图,所以我在控制器中使用了这段代码
$this->load->view('layout/header_assets');
$this->load->view('user/main',$data);
$this->load->view('layout/footer');
但我有一个问题:
<link rel="apple-touch-icon" href="http://localhost/game/assets/images/apple-touch-icon.png">
<html lang="en">
<head>
</head>
<body>
test
</body>
</html>
<footer>
</footer>
我想以正确的方式使用html代码,header_assets在head标签中加载,footer加载在body标签中。
但是现在如果我加载第一个header_assets而不是加载main.php。 所以header_assets首先加载到main.php之后
我想以这种方式
<html lang="en">
<head>
<link rel="apple-touch-icon" href="http://localhost/game/assets/images/apple-touch-icon.png">
</head>
<body>
test
<footer>
</footer>
</body>
</html>
答案 0 :(得分:2)
您可以在includes
下创建一个文件夹view
并创建一个页面template
,并在页面template
中添加以下代码 -
<?php $this->load->view('includes/header');
$this->load->view($middle);
$this->load->view('includes/footer');
?>
在您的控制器中,您只需调用模板并传递数据,如下所示 -
$this->data['middle'] = 'public/existing_mem'; // view page to be included
$this->load->view('includes/template',$this->data);
答案 1 :(得分:2)
对于你的问题
在控制器中
$this->load->view('layout/header_assets',$data); # Change
$this->load->view('user/main',$data);
$this->load->view('layout/footer');
最佳选择是
文件应包含3部分。
在标题中
只包含
所有CSS和JS
<html lang="en">
<head>
<meta>....
<link href="">....
<script>....
</head>
在正文
这应该包含显示部分和所有代码的页面。这包含
<body>
tag start .... 页脚
这应包含
</body>
标记与</html>
所以你可以通过
加载这三个View in codeigniter
$this->load->view('layout/header');
$this->load->view('user/main',$data);
$this->load->view('layout/footer')