Więc chcesz utworzyć rozszerzenie i do jego budowy używasz zewnętrznego zasobu / pakietu. Moim zdaniem, niezależnie od tego, jakiego pakietu użyłeś w swoim rozszerzeniu, twoje rozszerzenie powinno być zgodne z najlepszymi praktykami Magento. Oznacza to, że należy oddzielić wszystkie pliki js, css, obrazy od zewnętrznego zasobu i umieścić w base\default
katalogach pakietów motywów.
tzn. nie ma takiej unikalnej lokalizacji do umieszczania zasobów pakietu stron trzecich. Ostatecznie, gdy dostarczysz fajne rozszerzenie, wszystkie pliki js, css i obrazy związane z tym rozszerzeniem powinny być przechowywane w miejscu, w którym zwykle będzie szukał inny programista, a prawie w każdym przypadku jest to base/default
pakiet motywów.
W skrócie
Wszystkie twoje rozszerzenia js powinny się znaleźć
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]
W ten sposób inny programista może bardzo łatwo znaleźć pliki js, css i obrazy (również zasobów zewnętrznych) rozszerzenia. Ponieważ używasz dodatkowego podkatalogu do wskazania zewnętrznych plików zasobów w katalogu nazwy rozszerzenia, da to innym najlepszą wskazówkę, że twoje rozszerzenie polega na niektórych pakietach stron trzecich.
Dlatego polecam oddzielić zewnętrzne pakiety i uczynić je częścią twojego rozszerzenia, aby inny programista mógł łatwo znaleźć twoje zależności. :-)
EDYCJA - 1
Nie należy obciążać rozszerzenia swoim właścicielem witryny. Możesz uniknąć tej trudności, odpowiednio wyrównując rozszerzenie. Oznacza to, że jeśli zapiszesz wszystkie powiązane pliki w określonych lokalizacjach katalogu, to wszystko, co powinien zrobić właściciel witryny, to pobierz rozszerzenie, a następnie Scal swoje rozszerzenie z katalogu głównego aplikacji. tj. wyrównaj prawidłowo swoje rozszerzenie. To powinno wyglądać tak.
/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
EDYCJA - 2
Jeśli istnieją jakieś pakiety, które powinny być współużytkowane przez wszystkie aplikacje Magento (takie jak biblioteka javascript lub pakiet php itp.), Możesz umieścić je w \lib
katalogu.
Prawdą jest, że może istnieć duplikat pliku, jeśli dwa rozszerzenia korzystają z tych samych pakietów zasobów. Mogą także używać innej wersji tego samego pakietu zasobów. Ale w zasadzie twoje rozszerzenie powinno wykorzystywać tylko zasoby twojego rozszerzenia (i może polegać na domyślnych zasobach Magento) i nie powinno polegać na zasobach innych rozszerzeń, chyba że twoje rozszerzenie jest „rozszerzoną wersją” rozszerzenia strony trzeciej.