2012-01-16 51 views
1

私は、Magentoのは、prototype.jsのを使用しています注意してください:prototype.jsのURLをGoogleのホストバージョンに変更するにはどうすればよいですか?

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

私の質問は、私は縮小されprototype.jsのGoogleのホストされているバージョンへのURLを変更する方法です。

私はpage.xmlにURLを変更しようとしましたが、それはURLとして動作しませんが、常にhttp://www.example.com

で、このための絶対URLを指定する方法任意のアイデアを開始しますか?

ありがとうございます!直接ソースへ

答えて

5

addJsを尋ねる前に、オンライン検索、addCSS、などのアクションメソッド特にローカルファイル用に設計されています。それらを使用して外部URLのファイルをページに追加することはできません。代わりに、URLをMagentoのヘッドテンプレートに直接追加する必要があります。

あなたのテーマのテンプレートフォルダ

アプリ/設計/フロントエンド/デフォルト/あなたのテーマ/テンプレート/ページ/ HTMLに

app/design/frontend/base/default/template/page/html/head.phtml 

ベースヘッドテンプレートをコピーすることによってこれを行うことができます/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がレンダリングされないようにすることを忘れないでください。

あなたはここにこの

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

(アドバイスのようなもので、新しいスクリプトを追加するレイアウトXMLを使用することができ、本当に空想得るのではなく、テンプレートを編集したい場合は、特定の1.6.1で、これだけに適用されるべきですほとんどすべてのバージョンのMagento)

+0

+1のための空想的な方法^^ –

-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を読んで、

+1

ありがとうございます!しかし、Magentoのレイアウトファイルの仕組みがわからないと思います。 –

+0

example.comリンクを上記のURLに置き換えるだけです。できない? – Raptor

1

この目的のための拡張機能は、常に役立つInchooのブログ(link)にあります。

投稿を読むと、Magentoが使用するブロックおよびレイアウトアーキテクチャの一部を理解するのに役立ちます。

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> 

がレンダリングされていないローカルprototype.jsのを確実にするためにremoveItemメソッドを使用することを忘れないでください。

関連する問題