我是CodeIgniter的新手,我正在尝试将模板与我的观点集成。对于每个视图,我想要模板的标题,主要内容和页脚。但是,我的每个页面的标题都不同,因为它们的CSS也不同。我有脚本的页脚也有不同的代码。我是否需要为每个页面创建单独的页眉和页脚?这是一个例子。
Adticket_footer.php
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js">
$('#myModal').modal() // initialized with defaults
</script>
<!-- Menu Toggle Script -->
<script>
$("#menu-toggle").click(function (e) {
e.preventDefault();
$("#wrapper").toggleClass("toggled");
});
</script>
</body>
</html>
login_footer.php
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
答案 0 :(得分:0)
我通常会有一个页眉和一个页脚。例如,对于其他css,您只需为要包含的标题设置一个附加项目。
在您的控制器中
$header_data['additional_css'] = array('custom_css_1.css', 'custom_css_2.css');
$this->load->view('header_view', $header_data);
在您的视图中,您可以添加它们:
<?php if(!empty($additional_css)) { ?>
<?php foreach ($additional_css as $file_name) { ?>
<link rel="stylesheet" href="<?php echo base_url('assets/css/'.$file_name); ?>">
<?php } ?>
<?php } ?>
我为css文件做一个数组而不是传递一个变量,因为你经常需要添加多个变量。如果您未在控制器中设置任何内容,则不会添加任何内容。 (我在这里假设它是一个数组,但从技术上讲,你也应该检查它是一个数组。)
您可以在页脚中执行相同操作,允许您添加js文件或js。我通常会有四个附加组件,一个用于css文件,一个用于内联css,一个用于js文件,一个用于内联js。对于内联js或css,您可以使用包含要显示的内容的变量而不是数组。
当然,如果您使用smarty或其他模板系统(它们很容易集成到CI中,并且库可用),还有其他解决方案,但我发现使用这些附加阵列简单,快速且非常灵活。