2011-09-25 3 views
0

젠드 프레임 워크를 처음 사용했습니다. 마스터 레이아웃 파일이 있고 CSS/js 파일을 동적으로 추가 및 제거하고 싶습니다. 어느 컨트롤러/동작에 어떤 파일이 추가되어야 하는지를 포함하는 XML 파일을 만들 계획입니다. 나는 컨트롤러에 대한 생성자가 XML 파일을 읽고 필요에 따라 파일을 추가하도록 생각하고 있었지만 약간 나쁜 것처럼 보입니다. 부트 스트랩 클래스 파일에서이 작업을 수행하는 것이 더 좋습니다.젠드 프레임 워크 부트 스트랩 질문

누구나이 방법이 올바른지, 내가 어떻게하면 좋을지 알려줄 수 있습니까?

답변

0

필요할 때만 정적 리소스를로드하는 것이 좋습니다.

즉, 부트 스트랩하는 동안보기 특정 자원을로드하는 것을 고려하고 있다는 것이 모순 된 것처럼 보입니다. 너무 일찍, 당신의 애플 리케이션은 아직 무엇이 필요한지에 대한 단서가 없습니다. 백그라운드에서 경제 lazyness의 문질러서와

, 당신은 귀하의 의견에 리소스를 추가해야합니다

if (somecondition) 
{ 
    $this->headScript()->addJavascriptFile($this->baseUrl() . '/path/to/your file'); 
} 
else 
    $this->jQuery()->addOnLoad($someShortjQueryScript); 
} 

을 그 너무 늦게 당신의 취향에 있다면, 당신은 너무 행동을 수행 할 수 있습니다

$this->view->headLink()->appendStyle($someCSS); 
뷰 헬퍼 밖으로

확인, 당신은 앞에 추가 addOnLoad는 등 파일, 스크립트, 스타일을 추가, 모든 종류의 것들을 추가 할 수 있습니다

읽는 나에게 좋은 생각이 아닌 것 같아

config의 파일 목록. 그러나 나는 틀릴 수도 있습니다.

2

정확한 방법은 의견을 통해 필요한 스타일/스크립트를 결정하는 것입니다. 이 바로 목적으로 view helpers을 사용할 수 있습니다. 이렇게하면 응용 프로그램 논리 (컨트롤러/부트 스트랩) 및 데이터 논리 (데이터베이스, ...)에서 표현 논리 (보기, 스크립트, CSS)를 분리 할 수 ​​있습니다.

1

자신의 레이아웃 플러그인 클래스를 만듭니다. 그것의 post-dispatch 후크 안에 당신 자신의 논리를 코드하십시오.

관련 문제