2012-07-26 5 views
1

나는 모든 페이지의 헤드 부분에 약간의 자바 스크립트 파일을 추가 할 레이아웃 XML 파일을 사용하여 내 젠토 설치에 사용자 지정 모듈을 사용하고 있습니다.젠토 모듈 레이아웃 XML 순서

이 잘 작동하지만이 자바 스크립트 파일은, 그러나 계층에 반대로 XML 파일을 알파벳 순으로 처리되는 것 같다, 나는 이미에서 page.xml에 선언 한 것과 이후에 추가 될 필요가!

내가 페이지/html_head 블록을 통해 보면서 항목이 포함되는 순서를 변경/설정할 수있는 기본 방법이없는 것 같다했습니다. 내 모듈의 XML 파일에서 javascript 파일을 제거하고 page.xml에 배치하지 않으면 누구나 page.xml의 자바 스크립트를 어떻게 추가 할 수 있는지 알 수 있습니까?

+0

사용자 정의 모듈이있는 경우이 블록을 무시할 수 있습니다. 예를 들어, 선택적 매개 변수 "sort"를 추가하십시오. 다음으로 블록의 변수를 정렬 매개 변수 목록과 함께 추가하고 결국 addItem 및 getCssJsHtml 메소드를 대체합니다. – diNord

+0

@diNord -이 방법은 효과가 있지만 레이아웃이 쉬운 방법이 있습니다. – benmarks

답변

4

레이아웃 XML 파일은 glob()의 알파벳 순서의 적용을받습니다 모듈로드 순서의 영향으로 알파벳 순으로 처리됩니다. 헤드 블록 누락 정렬 기능 불행이지만

는 대안이있다. 모듈 활성화 파일의 Mage_Page에 의존하여 모듈을 만들 수 있습니다.

다른 옵션은 다음과 같습니다 head 블록에 core/template 블록을 추가하고 JS 파일을 테마 안전한 링크가있는 템플릿을 사용하거나 core/text 블록을 추가하고 JS 파일에 명시 적으로 링크 setText() 전화 (보안 수준은 일반적으로 사용 CDN 호스팅 스크립트의 경우). 의 하위 블록을 렌더링하는 page/html/head.phtml에 비어있는 getChildHtml() 호출이 있습니다.

+0

이것이 내가 할 일이라고 생각합니다. 핵심/템플릿 블록을 머리에 추가하고 문제의 JS 파일에 대한 링크를 포함시킵니다. JS 파일은/js 폴더 (스킨이 아님)에 설치되므로 잘되어야합니다. 어쨌든 모듈을 배포 할 계획이 없습니다. 특히이 사이트의 별주입니다. – HughieW

+0

클라이언트가 네이티브 JS 요청 병합 또는 Fooman_Speedster의 병합 및 축소를 사용하는 경우 사용하면이 파일이 병합되지 않습니다. 템플릿 기술. – benmarks