Vì vậy, bạn muốn tạo một phần mở rộng và bạn đang sử dụng một tài nguyên / gói bên ngoài để xây dựng nó. Theo tôi, bất kỳ gói nào bạn đã sử dụng trong tiện ích mở rộng của mình, tiện ích mở rộng của bạn nên tuân theo các thực tiễn tốt nhất của Magento. Điều đó có nghĩa là bạn nên tách tất cả js, css, hình ảnh khỏi tài nguyên bên ngoài và nên đặt trong các base\default
thư mục gói chủ đề.
tức là không có vị trí duy nhất như vậy tồn tại để đặt tài nguyên gói của bên thứ ba. Cuối cùng, khi bạn cung cấp một tiện ích mở rộng thú vị, tất cả js, css và hình ảnh liên quan đến tiện ích mở rộng của bạn nên được giữ ở nơi mà một nhà phát triển khác thường sẽ tìm và trong hầu hết các trường hợp làbase/default
gói chủ đề.
Nói ngắn gọn
Tất cả js mở rộng của bạn nên đến
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]
Bằng cách này, một nhà phát triển khác có thể dễ dàng tìm thấy js, css và hình ảnh (của các tài nguyên bên ngoài của bạn) của tiện ích mở rộng của bạn rất dễ dàng. Vì bạn đang sử dụng một thư mục con phụ để chỉ ra các tệp tài nguyên bên ngoài trong thư mục tên tiện ích mở rộng của mình, nó sẽ cung cấp cho người khác một manh mối tốt nhất rằng tiện ích mở rộng của bạn đang dựa vào một số gói của bên thứ ba.
Vì vậy, tôi khuyên bạn nên tách các gói bên ngoài và biến chúng thành một phần của tiện ích mở rộng để nhà phát triển khác có thể dễ dàng tìm thấy các phụ thuộc của bạn. :-)
CHỈNH SỬA - 1
Bạn không nên tạo gánh nặng mở rộng cho chủ sở hữu trang web của mình. Bạn có thể tránh được khó khăn này bằng cách căn chỉnh chính xác phần mở rộng của bạn. Điều đó có nghĩa là, nếu bạn lưu tất cả các tệp có liên quan trong các vị trí thư mục được chỉ định, thì tất cả những gì chủ sở hữu trang web nên làm là lấy tiện ích mở rộng của bạn và sau đó Hợp nhất tiện ích mở rộng của bạn từ thư mục gốc của ứng dụng. tức là căn chỉnh phần mở rộng của bạn đúng cách. Nó sẽ giống như thế này.
/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
EDIT - 2
Nếu có một số gói, sẽ chia sẻ trên tất cả các ứng dụng Magento (chẳng hạn như thư viện javascript hoặc gói php, v.v.), thì bạn có thể đặt chúng vào \lib
thư mục.
Đúng là, có thể tồn tại tệp trùng lặp nếu hai phần mở rộng dựa trên cùng các gói tài nguyên. Họ cũng có thể sử dụng phiên bản khác nhau của cùng một gói tài nguyên. Nhưng về cơ bản, tiện ích mở rộng của bạn chỉ nên sử dụng tài nguyên của tiện ích mở rộng của bạn (và có thể dựa vào tài nguyên mặc định của Magento) và không nên dựa vào tài nguyên của tiện ích mở rộng khác, trừ khi tiện ích mở rộng của bạn là "phiên bản mở rộng" của tiện ích mở rộng bên thứ ba.