Ich habe Folgendes getan, um jQuery von Google CDN in Magento aufzunehmen:
<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>
Wenn ich es jedoch mit einem lokalen Fallback implementieren möchte, was recht gut funktioniert, füge ich es meiner .phtml-Datei als solches hinzu:
<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>
- Gibt es eine elegantere Möglichkeit, dies in local.xml zu tun, als den Fallback in den
<text>
Knoten zu verschieben, wie ich es tuejQuery.noConflict
?
Bearbeiten:
Um die Aufmerksamkeit auf den anderen Teil der Frage zu lenken: Gibt es Community-Module, die jQuery für Sie enthalten? Wenn sie eine lokale jQuery haben, ist das in Ordnung - wenn sie Google CDN verwenden - noch besser. Wenn dies nicht da draußen ist, würde ich gerne eine erstellen.
- Gibt es irgendwelche Erweiterungen, die damit umgehen, ohne dass ich sie selbst booten muss?
<text>
oben beschriebene Methode handelt ... nicht sicher, ob dies eine akzeptable Lösung ist. Das n98-Modul verwendet eine separate Js-Include-Datei für den Aufruf von noConflict, aber ich nehme an ...