Итак, вы хотите создать расширение и используете его для создания внешнего ресурса / пакета. На мой взгляд, какой бы пакет вы ни использовали в своем расширении, ваше расширение должно следовать лучшим практикам Magento. Это означает, что вы должны отделить все js, css, изображения от внешнего ресурса и поместить их в base\default
каталоги пакетов тем.
то есть не существует такого уникального местоположения для размещения сторонних ресурсов пакета. В конечном итоге, когда вы предоставляете классное расширение, все js, css и изображения, связанные с вашим расширением, должны храниться в месте, где обычно будет искать другой разработчик, и который в большинстве случаев является base/default
пакетом тем.
Короче говоря
Все ваши расширения JS должны быть под
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 (например, библиотека javascript, пакет php и т. Д.), Вы можете поместить их в \lib
каталог.
Это правда, что может существовать дубликат файла, если два расширения полагаются на одни и те же пакеты ресурсов. Они также могут использовать разные версии одного и того же пакета ресурсов. Но в основном ваше расширение должно использовать только ресурс вашего расширения (и может полагаться на ресурсы по умолчанию Magento), и оно не должно полагаться на ресурсы другого расширения, если только ваше расширение не является «расширяющей версией» стороннего расширения.