2012-01-16 109 views
1

我注意到Magento會用的prototype.js:如何將prototype.js URL更改爲Google託管版本?

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

我的問題是如何改變的URL到谷歌託管這是精縮的prototype.js的版本。

我試圖改變URL中page.xml,但它不工作作爲URL總是http://www.example.com

任何想法開始如何指定這絕對URL?

非常感謝!

回答

5

addJsaddCSS等操作方法之前在網上搜索是專門爲本地文件設計的。您不能使用它們將外部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不被渲染。

如果你想獲得真正看中的,而不是編輯模板,你可以使用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版本)

+0

+1爲奇特的方式^^ – 2012-01-16 10:47:07

-6

鏈接直接來源:

<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> 

閱讀manual,要求

+1

謝謝!但我不認爲你知道Magento佈局文件是如何工作的。 – 2012-01-16 04:20:40

+0

只需用上面的URL替換example.com鏈接即可。不能? – Raptor 2012-01-16 05:19:43

1

您可以在永久有用的Inchoo博客(link)中找到用於此目的的擴展。

如果您通讀這篇文章,它將有助於理解Magento使用的一些Block和佈局架構。

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不會被渲染。

相關問題