Ho fatto quanto segue per includere jQuery da Google CDN in 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>
Tuttavia, quando voglio implementarlo con un fallback locale, che funziona abbastanza bene, finisco per aggiungerlo al mio .phtml come tale:
<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>
- Esiste un modo più elegante per farlo in local.xml che inserire il fallback nel
<text>
nodo come sto facendojQuery.noConflict
?
Modificare:
Per attirare l'attenzione sull'altra parte della domanda: ci sono moduli della community che includono jQuery per te? Se hanno un jQuery locale, va bene - se usano Google CDN - ancora meglio. Se questo non è là fuori, mi piacerebbe crearne uno.
- Esistono estensioni di go-to che gestiscono ciò senza che io debba avviarlo da solo?
<text>
metodo descritto sopra ... non sono sicuro che si tratti di una soluzione accettabile. Il modulo n98 usa un file js include separato per chiamare noConflict, però, suppongo ...