Я сделал следующее, чтобы включить 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 для вызова noConflict, хотя, я полагаю ...