따라서 확장을 만들고 싶고 확장을 위해 외부 리소스 / 패키지를 사용하고 있습니다. 내 생각에, 확장에 사용한 패키지가 무엇이든 확장은 Magento 모범 사례를 따라야합니다. 즉, 모든 js, css 이미지를 외부 자원과 분리해야하며 base\default
테마 패키지 디렉토리에 배치해야합니다 .
즉, 타사 패키지 리소스를 배치하기위한 고유 한 위치가 없습니다. 궁극적으로 멋진 확장을 제공 할 때 확장과 관련된 모든 js, css 및 이미지는 다른 개발자가 일반적으로 보려고하는 장소에 보관해야하며 거의 모든 경우 base/default
테마 패키지입니다.
한마디로
모든 확장 j가 있어야합니다.
skin\frontent\base\default\js\[your_extension]\[all_of_your_js_files]
skin\frontent\base\default\css\[your_extension]\[all_of_your_css_files]
skin\frontent\base\default\images\[your_extension]\[all_of_your_images]
//for third parties, you can create an inner directory, to specify it
skin\frontent\base\default\js\[your_extension]\[your_external_resource]\[resource_js_files]
skin\frontent\base\default\css\[your_extension]\[your_external_resource]\[resource_css_files]
skin\frontent\base\default\images\[your_extension]\[your_external_resource]\[resource_image_files]
이렇게하면 다른 개발자가 확장 프로그램의 js, css 및 이미지 (외부 리소스도)를 매우 쉽게 찾을 수 있습니다. 확장명 디렉토리 내부의 외부 자원 파일을 표시하기 위해 추가 서브 디렉토리를 사용하고 있으므로 확장명이 일부 써드 파티 패키지에 의존하고 있다는 사실을 다른 사람들에게 알릴 수 있습니다.
따라서 다른 개발자가 쉽게 종속성을 찾을 수 있도록 외부 패키지를 분리하여 확장의 일부로 만드는 것이 좋습니다. :-)
편집-1
사이트 소유자에게 확장 부담을주지 않아야합니다. 확장을 올바르게 맞추면 이러한 어려움을 피할 수 있습니다. 즉, 모든 관련 파일을 지정된 디렉토리 위치에 저장하면 모든 사이트 소유자가해야 할 일은 확장명을 잡고 응용 프로그램 루트 디렉토리에서 확장명을 병합하는 것입니다. 즉, 확장 장치를 올바르게 정렬하십시오. 이렇게 보일 것입니다.
/app
|_____code\community\Namespace\Module\...
|_____design
| |_____frontend\base\defalt\...
| |_____adminhtml\base\defalt\...
/skin
|_____frontend\base\default\js|css|images\[your_extension]\all_theme_related_files
|_____frontend\base\default\js|css|images\[your_extension]\all_theme_related_files
편집-2
모든 Magento 응용 프로그램 (예 : 자바 스크립트 라이브러리 또는 PHP 패키지 등)에서 공유해야하는 일부 패키지가 있으면 \lib
디렉토리에 넣을 수 있습니다 .
두 개의 확장자가 동일한 자원 패키지에 의존하는 경우 중복 파일이 존재할 수 있습니다. 동일한 리소스 패키지의 다른 버전도 사용할 수 있습니다. 그러나 기본적으로 확장은 확장의 리소스 만 사용해야하며 기본 Magento의 리소스에 의존 할 수 있어야하며 확장이 타사 확장의 "확장 버전"이 아닌 한 다른 확장의 리소스에 의존해서는 안됩니다.