2016-12-17 85 views
0

我是CodeIgniter的新手,我试图将模板与视图集成在一起。对于每个视图,我想要为模板创建标题,主要内容和页脚。但是,我的每个页面的标题都不同,因为它们的CSS也不同。脚本,我有脚本,也有不同的代码。我是否需要为每个页面创建单独的页眉和页脚?这是一个例子。Codeigniter重复模板

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> 

Files

+0

你想创建一个具有多个页脚代码的页脚文件取决于页面吗? – Akshay

+0

我真的不知道该怎么做,因为对于头文件来说,它们被链接到不同的css文件,并将它们放在一起会导致冲突的css设计 – coderszx

+0

你将有不同的css文件用于不同的头文件? – Akshay

回答

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中,并且库可用),还有其他解决方案,但我发现使用这些附加阵列非常简单,快速且非常灵活。