ดังนั้นคุณต้องการสร้างส่วนขยายและคุณกำลังใช้ทรัพยากร / แพ็คเกจภายนอกสำหรับการสร้างมัน ในความคิดของฉันไม่ว่าคุณจะใช้แพ็คเกจใดในส่วนขยายของคุณส่วนขยายของคุณควรเป็นไปตามแนวทางปฏิบัติที่ดีที่สุดของ 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
ไดเรกทอรี
เป็นความจริงที่ว่าอาจมีไฟล์ซ้ำกันหากส่วนขยายสองรายการขึ้นอยู่กับแพ็คเกจทรัพยากรเดียวกัน พวกเขาอาจใช้แพ็คเกจทรัพยากรเดียวกันเวอร์ชันอื่นด้วย แต่โดยทั่วไปแล้วส่วนขยายของคุณควรใช้ทรัพยากรของส่วนขยายของคุณเท่านั้น (และสามารถพึ่งพาทรัพยากรของวีโอไอพีที่เป็นค่าเริ่มต้น) และไม่ควรพึ่งพาทรัพยากรของส่วนขยายอื่น ๆ เว้นแต่ว่าส่วนขยายของคุณจะเป็น