2011-07-27 3 views
4

css 파일과 javascript/jquery 파일을 컨트롤러/뷰에 어떻게 링크합니까 ??CSS 파일과 자바 스크립트 파일을 연결하는 CakePHP

나는 CakePHP_1.3을 사용 중이며 온라인에서 다음 코드를 찾을 수 있습니다. 그러나이 코드를 어디에 넣을 지, 둘째, css_file이라는 css 파일을 둘 곳을 알아낼 수 없습니다. 당신은 당신의 default.ctp 레이아웃 코드 줄을 둘 것입니다

app/ 
    webroot/ 
     css/ <-- here 

:

<?php $this->Html->css("css_file", null, array("inline"=>false)); ?> 

어떤 도움을 감사들 ...

답변

13

는 당신의 CSS 파일을 넣어 것입니다. 이것은 (1.3)에 있습니다

cake/ 
    libs/ 
     view/ 
     layouts/ 
      default.ctp <-- copy this to app/views/layouts/ 

그런 다음 app/views/layouts/default.ctp을 그를 열고 HTML 봐. Cake가 이미이 명령을 사용하고있는 곳을 볼 수 있습니다. 파일 이름을 추가 한 파일로 바꾸기 만하면됩니다. 이 아니면 코드 줄을 추가 할 때 .css을 끝에 추가하십시오.

+0

감사합니다 Charles, javascript/jquery 파일을 포함하는 것과 같은 방식입니까? –

+2

@ DJDonaL300 물론,'app/webroot/js /'에 파일을 넣고''요소가 표시됩니다. – cspray

6

당신은보기

4

질문을 바탕으로, 그것은 당신이보기별로보기으로이 작업을 수행하는 방법을 묻는 것처럼 소리에 echo $this->Html->css('css_file_name_without_the_extension');echo $this->Html->script('same')를 사용합니다.

여기는 $scripts_for_layout이 유용합니다.

당신은 그런 말 그대로 당신이 좋아하는 말 그대로 어느 시점에, 귀하의 의견 중 하나에 귀하의 질문에 당신이 포함 된 코드를 추가 할 수 <?php echo $scripts_for_layout; ?>

/app/views/layouts/default.ctp<head> 태그에 그것의 있는지 확인해야합니다.

<?php $this->Html->css("css_file", null, array("inline"=>false)); ?> 

을 ... 그리고 당신은 특정 뷰가로드 될 때마다 css_file.css가 자동으로 <head>에 연결되어 있음을 확인할 수있는 것들 : 당신이 'inline' => false을 가지고 있기 때문에 실제로는보기에 그 위치에 표시되지 않습니다. 이것은 필요할 때마다 특정 CSS 파일을 뷰 단위로로드하는 가장 좋은 방법이지만 그래야만 코드가 표시되어야하는 <head> 태그에 나타나는지 확인해야합니다. 당신이 모든 뷰에로드 된 하나 개 이상의 CSS 파일을 가지고 싶다면 다음과 같이

<?php $this->Html->script("js_file", null, array("inline"=>false)); ?> 

, 그냥 default.ctp<head>의 단축 버전 코드를 넣어 : 다음과 같이

이것은 또한 자바 스크립트를 작동

자바 스크립트를 다시
<?php echo $html->css(array('each','one','of','your','css','files')); 

또는 :

<?php echo $html->script(array('each','one','of','your','js','files')); 

.css 또는 .js 확장자를 배열에 포함하지 마십시오.

관련 문제