如何将prototype.js URL更改为Google托管版本?

dat*_*.io 1 magento

我注意到Magento使用prototype.js:

<script type="text/javascript\" src="http://www.example.com/js/prototype/prototype.js"></script>
Run Code Online (Sandbox Code Playgroud)

我的问题是我如何将URL更改为缩小的原始版本的Google主机版本.

我尝试更改page.xml中的URL,但它不起作用,因为URL始终以http://www.example.com开头

知道如何为此指定绝对URL吗?

非常感谢!

Ala*_*orm 5

addJs,addCSS诉讼等方法专门为本地文件而设计的.您无法使用它们将外部URL上的文件添加到页面.相反,您需要将URL直接添加到Magento的头模板中.

您可以通过复制基本头模板来完成此操作

app/design/frontend/base/default/template/page/html/head.phtml
Run Code Online (Sandbox Code Playgroud)

到您主题的模板文件夹

应用程序/设计/前端/缺省的/你的主题/模板/页/ HTML/head.phtml

如果查看该模板,您将看到用于呈现所有Magento HTML页面的head元素的HTML和PHP模板代码.

<meta http-equiv="Content-Type" content="<?php echo $this->getContentType() ?>" />
<title><?php echo $this->getTitle() ?></title>
<meta name="description" content="<?php echo htmlspecialchars($this->getDescription()) ?>" />
<meta name="keywords" content="<?php echo htmlspecialchars($this->getKeywords()) ?>" />
<meta name="robots" content="<?php echo htmlspecialchars($this->getRobots()) ?>" />
<link rel="icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon" />
<link rel="shortcut icon" href="<?php echo $this->getFaviconFile(); ?>" type="image/x-icon" />
<!--[if lt IE 7]>
<script type="text/javascript">
//<![CDATA[
    var BLANK_URL = '<?php echo $this->helper('core/js')->getJsUrl('blank.html') ?>';
    var BLANK_IMG = '<?php echo $this->helper('core/js')->getJsUrl('spacer.gif') ?>';
//]]>
</script>
<![endif]-->
<?php echo $this->getCssJsHtml() ?>
<?php echo $this->getChildHtml() ?>
<?php echo $this->helper('core/js')->getTranslatorScript() ?>
<?php echo $this->getIncludes() ?>
Run Code Online (Sandbox Code Playgroud)

您只需将HTML标记添加到此文件即可添加所需的任何其他脚本标记.不要忘记使用该removeItem方法来确保不呈现本地prototype.js.

如果您想要真正想要的,而不是编辑模板,您可以使用Layout XML来添加类似这样的新脚本

    <default>
        <reference name="head">
            <block type="core/text" name="cdn_prototype">
                <action method="setText">
                    <text><![CDATA[<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>]]></text>
                </action>
            </block>
        </reference>
    </default>
Run Code Online (Sandbox Code Playgroud)

(此处的建议是1.6.1具体,但应适用于大多数(如果不是全部)Magento版本)