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

Magento 如何将prototype.js URL更改为Google托管的版本?,magento,Magento,我注意到Magento使用prototype.js: <script type="text/javascript\" src="http://www.example.com/js/prototype/prototype.js"></script> 我的问题是如何将URL更改为Google托管的prototype.js版本,该版本已缩小 我试图更改page.xml中的URL,但由于URL总是以 知道如何为此指定一个绝对URL吗 非常感谢 直接链接到源: <scr

我注意到Magento使用prototype.js:

<script type="text/javascript\" src="http://www.example.com/js/prototype/prototype.js"></script>

我的问题是如何将URL更改为Google托管的prototype.js版本,该版本已缩小

我试图更改page.xml中的URL,但由于URL总是以

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


非常感谢

直接链接到源:

<script type="text/javascript" 
    src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>

或通过谷歌API:

<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("prototype", "1.6.0.2");</script>

加载(“原型”,“1.6.0.2”);

阅读,在询问之前在线搜索
addJs
addCSS
,等等。操作方法是专门为本地文件设计的。您不能使用它们将外部URL处的文件添加到页面。相反,您需要将URL直接添加到Magento的头模板中

您可以通过复制位于的基础头部模板来完成此操作

app/design/frontend/base/default/template/page/html/head.phtml
到主题的模板文件夹

app/design/frontend/default/your theme/template/page/html/head.phtml

如果查看该模板,您将看到用于呈现所有MagentoHTML页面的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() ?>

(这里的建议是针对1.6.1的,但应该适用于大多数(如果不是全部)版本的Magento)

您可以在非常有用的Inchoo博客()上找到用于此目的的扩展

如果你通读这篇文章,它将有助于理解Magento使用的一些块和布局架构

允许通过布局XML文件包含外部JS和CSS文件。 安装扩展后,在
page.xml
中插入以下行:

<action method="addItem"><type>absolute_js</type><name>http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js</name>
绝对值_jshttp://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js

不要忘记使用
removietem
方法来确保不呈现本地prototype.js。

谢谢!但是我认为你不知道Magento布局文件是如何工作的。只是用上面的URL替换example.com链接。不能
<action method="addItem"><type>absolute_js</type><name>http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js</name>