Por lo tanto, desea crear una extensión y está utilizando un recurso / paquete externo para construirlo. En mi opinión, cualquier paquete que haya utilizado en su extensión, su extensión debe seguir las mejores prácticas de Magento. Eso significa que debe separar todas las imágenes js, css, del recurso externo y colocarlas en base\default
los directorios del paquete de temas.
es decir, no existe una ubicación única para colocar recursos de paquetes de terceros. En última instancia, cuando entregas una extensión genial, todas las js, css e imágenes relacionadas con tu extensión deben mantenerse en un lugar donde normalmente se va a buscar otro desarrollador y que en casi todos los casos es el base/default
paquete de temas.
En breve
Todas tus extensiones js deberían estar bajo
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]
De esta forma, otro desarrollador puede encontrar fácilmente js, css e imágenes (de sus recursos externos también) de su extensión muy fácilmente. Como está utilizando un subdirectorio adicional para indicar los archivos de recursos externos dentro de su directorio de nombre de extensión, dará a los demás una mejor pista de que su extensión depende de algunos paquetes de terceros.
Por lo tanto, le recomiendo que separe los paquetes externos y los haga parte de su extensión para que otro desarrollador pueda encontrar fácilmente sus dependencias. :-)
EDITAR - 1
No debe hacer su carga de extensión para el propietario de su sitio. Puede evitar esta dificultad alineando adecuadamente su extensión. Eso significa que si guarda todos los archivos relacionados en las ubicaciones de directorio especificadas, entonces todo lo que debe hacer un propietario del sitio es tomar su extensión y luego Fusionar su extensión desde el directorio raíz de la aplicación. es decir, alinee su extensión correctamente. Debe tener un aspecto como este.
/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
EDITAR - 2
Si hay algunos paquetes, que deberían compartirse en todas las aplicaciones de Magento (como una biblioteca javascript, o un paquete php, etc.), puede colocarlos en el \lib
directorio.
Es cierto que puede existir un archivo duplicado si dos extensiones se basan en los mismos paquetes de recursos. También pueden usar versiones diferentes del mismo paquete de recursos. Pero, básicamente, su extensión debe usar solo el recurso de su extensión (y puede confiar en los recursos predeterminados de Magento) y no debe depender de los recursos de otra extensión, a menos que su extensión sea una "versión extendida" de una extensión de terceros.