我注意到Magento使用prototype.js:
<script type="text/javascript\" src="http://www.example.com/js/prototype/prototype.js"></script>
我的问题是我如何将网址更改为缩小的原型.js的Google托管版本。
我尝试更改page.xml中的网址但不起作用,因为网址始终以http://www.example.com开头
知道如何为此指定绝对URL吗?
非常感谢!
答案 0 :(得分:5)
addJs
,addCSS
等操作方法专为本地文件设计。您无法使用它们将外部URL上的文件添加到页面。相反,您需要将URL直接添加到Magento的头模板中。
您可以通过复制
上的基本头模板来完成此操作app/design/frontend/base/default/template/page/html/head.phtml
到主题的模板文件夹
应用程序/设计/前端/缺省的/你的主题/模板/页/ 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() ?>
您只需将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>
(这里的建议是1.6.1特定的,但应该适用于大多数(如果不是全部)Magento版本)
答案 1 :(得分:1)
您可以在有用的Inchoo博客(link)中找到用于此目的的扩展程序。
如果你仔细阅读这篇文章,它将有助于理解Magento使用的一些Block和布局架构。
答案 2 :(得分:0)
This Magento extension允许通过布局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>
不要忘记使用removeItem
方法来确保不呈现本地prototype.js。
答案 3 :(得分:-6)
直接链接到源:
<script type="text/javascript"
src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"></script>
或通过Google API:
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">google.load("prototype", "1.6.0.2");</script>
在询问
之前阅读manual,在线搜索