2016-12-17 1 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의 경우 배열이 아닌 표시하려는 내용의 변수 만 사용할 수 있습니다.

똑똑한 템플릿 시스템이나 다른 템플릿 시스템을 사용하는 다른 솔루션 (물론 CI로 통합하기가 쉽고 라이브러리를 사용할 수 있음)이 추가 배열을 사용하는 것이 간단하고 빠르고 매우 유연하다는 것을 알 수 있습니다.