ฉันได้ทำสิ่งต่อไปนี้เพื่อรวม jQuery จาก Google CDN ใน Magento:
<default>
<reference name="head">
<block type="core/text" name="google.cdn.jquery">
<action method="setText">
<text><![CDATA[<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script><script type="text/javascript">jQuery.noConflict();</script>]]>
</text>
</action>
</block>
</reference>
</default>
อย่างไรก็ตามเมื่อฉันต้องการนำไปใช้กับทางเลือกในท้องถิ่นซึ่งใช้งานได้ดีฉันปิดท้ายการเพิ่มลงใน. phtml ของฉันเช่น:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
if (!window.jQuery) {
document.write('<script src="/path/to/your/jquery"><\/script>');
}
</script>
- มีวิธีที่สง่างามในการทำเช่นนี้ใน local.xmlมากกว่าที่จะผลักทางเลือกเข้าสู่
<text>
โหนดในขณะที่ฉันกำลังทำอยู่jQuery.noConflict
?
แก้ไข:
เพื่อดึงดูดความสนใจไปยังส่วนอื่น ๆ ของคำถาม - มีโมดูลชุมชนที่มี jQuery ให้คุณหรือไม่? หากพวกเขามี jQuery ในท้องถิ่นก็ไม่เป็นไร - ถ้าพวกเขาใช้ Google CDN - ดีกว่า หากนี่ยังไม่ออกฉันก็อยากจะสร้างมันขึ้นมา
- มีส่วนขยายแบบ go-to ใดบ้างที่จัดการสิ่งนี้โดยที่ฉันไม่ต้องบูตเอง
<text>
วิธีการตามที่อธิบายไว้ข้างต้น ... ไม่แน่ใจว่าเป็นวิธีแก้ปัญหาที่ยอมรับได้หรือไม่ โมดูล N98 ใช้ js แยกต่างหากรวมไฟล์สำหรับการโทร noConflict แต่ฉันคิดว่า ...