我有 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加载在头部标签中,页脚加载在正文标签中。
但是现在如果我先加载header_assets然后加载main.php。所以header_assets先加载那个主电源.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>
您可以在view
下创建一个文件夹includes
并创建一个页面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);
对于您的问题
在控制器中
$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>
标签开始.... - 所有其余代码
在页脚中
这应该包含
- 版权
- 移动顶部(需要 ID)
-
</body>
标记以</html>
结尾
所以你可以通过以下方式在代码点火器中加载这三个视图
$this->load->view('layout/header');
$this->load->view('user/main',$data);
$this->load->view('layout/footer')