Я зробив наступне, щоб включити 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 - ще краще. Якщо цього немає там, я хотів би створити його.
- Чи є які-небудь розширення, що впораються з цим, без мене самостійно завантажувати його?
<text>
методом, як описано вище ... не впевнений, що це прийнятне рішення. Модуль n98 використовує окремий файл js include для виклику noConflict, хоча, я думаю ...