2010-07-20 3 views
2

나는 cakephp에서 내보기에 jquery에서 발생하는 동작을 저장하는 작업을하고 있습니다. DIV의 너비와 높이와 같은 저장된 값을로드하는 쉬운 방법은 cakephp가있는 것입니다. echo css 파일의 너비/높이로 변수,보기 파일에서이 작업을 수행하는 것과 거의 같은 방식입니다. 내가 정확히 추측 할 수있는 정보가 어디에 있는지, cakephp 요리 책 내가 거기에서 그것을하는 방법을 보지 못하는 것에 따라 나는 그것을 놓치고있다. .. 어떤 충고가 감사하게 받았다.Cakephp,보기로드시 동적으로 CSS 파일에 변수를 씁니까?

+0

이 건너 온다 당신이 저장할 수 싶어 디스크에 대한 변경 사항이나 페이지 뷰 기간 동안 유지할 수 있습니까? – Leo

+0

나는 이미 데이터 부분을 알아 냈다. 내 jquery가 내 cakephp 컨트롤러를 호출하고 데이터베이스에 DIV 정보를 저장하므로이 문제는 CSS 파일로 변경 될 수있다. – Rick

답변

3

이것은 실제로 매우 쉽고 (강력한) CakePHP의 도움없이 할 수 있습니다.

먼저 웹 루트에 css.php이라는 새 파일을 만드십시오. 이 파일의 맨 위에 다음을 입력하십시오 :

<?php header("Content-Type: text/css"); ?> 

이제이 파일을 일반 CSS 파일처럼 레이아웃의 머리 부분에 링크하십시오.

<link rel="stylesheet" href="/path/css.php" type="text/css" /> 

동적 CSS 파일이 있습니다. 당신은 너무처럼 정보를 전달할 수 있습니다

<link rel="stylesheet" href="/path/css.php?c=red&fw=700" type="text/css" /> 

설명 :는 위에서 언급 한 변수에 액세스하려면, 당신은 CSS 파일에 $_GET 변수를 사용합니다. 위의 링크 태그를 살펴보십시오.

.class {color:<?php echo $_GET['c']; ?>;font-weight:<?php echo $_GET['fw']; ?>;} 

UPDATE : CSS 파일에서 해당 변수에 액세스하려면, 당신은 같은 것을 할 것이다 당신이 CakePHP의 HTML 도우미에 대한 게시 된 링크를 본 후을,이 할 수있는 더 좋은 방법이 있다는 것을 깨달았 CSS 파일에 많은 변수를 전달하려는 경우.

DynamicStyle 및 DynamicStylesController (또는 이와 비슷한 모델)라는 새 모델과 컨트롤러를 만듭니다. 그런 다음,이 컨트롤러의 모든 뷰가 사용할 css.ctp라는 새로운 레이아웃 파일을 만듭니다. 해당 레이아웃 파일에 content-type header 문을 선언하십시오.

마지막 단계는 표준 레이아웃 머리글에서 해당 컨트롤러의 메서드에 연결하는 것입니다.

이제 CSS 규칙의 데이터베이스 테이블을 만들고 CSS보기에서 HTML 도우미와 함께 사용할 수 있습니다.

+0

고마워, 내가 그걸 시도 할 것입니다 – Rick

+0

난 조금 혼란스러워 .. 그럼 내가 어떻게 CSS 파일에 변수를 전달하겠습니까? 먼저 css.php 파일에서 선언해야합니까? – Rick

+0

오, 알았어, 그럴 게 .. 감사합니다 – Rick

2

난 그냥 CakePHP의이이 뭔가가 실현 :

http://book.cakephp.org/view/1440/style

그래서이 사람을 위해 유용하게 사용할 수있는 미래

+0

이 링크는 더 이상 제공되지 않습니다. –

관련 문제