2011-03-15 4 views
1

ラジオボタンとしてカスタムオプションを持ついくつかの製品を持つMagentoショップがあります。必須ではないオプションには、デフォルトでは最初のボタンがチェックされていますが、必須ではありません。どうすればそれらをチェックさせることができますか?Magentoカスタムオプション - すべての最初のラジオボタンをチェックします

私はすでに、拡張従属カスタムオプション(ギャラリー)をインストールしました。これにより、デフォルトでチェックする必要があるカスタムオプションを設定するオプションが与えられますが、価格を適切な値に更新することはできません。 eveyヘルプ

答えて

0

ため

おかげで、呼び出されたときに、オプションに応じて価格を更新optionsConfig.reloadPrice()のようなものをという名前のJavaScript関数があります。おそらく、dom:loadedイベント中にこれを引き起こす必要があります。

+0

私はこれをputiingことによってそれを試してみた:: '<スクリプトタイプ= "テキスト/ javascriptの"> document.observe( "DOM:ロードされた"、機能(){だから、コードは次のようになります opConfig.reloadPrice(); }); '/template/catalog/product/view.phtmlにあります。それは動作しません。私は間違って何をしていますか? – David

2

この解決策はあなたには最適ではないかもしれませんが、私はこの同じ問題を抱えており、修正しました。

まず、jQueryをMagentoに正しくインストールするには、複雑な方法を使用しなければなりませんでした。問題の一部として、私はSpriptaculous Effectsファイルが最新のMagentoビルドで時代遅れになっていると考えています。だから私はサイトwww.script.aculo.usに行き、最新版をダウンロードした。私はその後、effects.jsファイルを引き抜いて中effects.jsを上書きするためにそれを使用:

[Magentoの]/JS/Scriptaculousの

は、それから私は、jQueryのサイトからのjQueryをダウンロードして作られましたフォルダと呼ばれるjqueryの中:

[Magentoの] /のJS/

そして、そこにjqueryのファイルをダンプ。

[Magentoの]

を/app/design/frontend/default/default/layout/page.xmlなどに見える行のリストを見つけました:

は、それから私は、ファイルを開きますこれは:

<action method="addJs"><script>scriptaculous/effects.js</script></action> 

これらのうちの1つをコピーし、このようなjqueryファイルのパスに置き換えました。

<action method="addJs"><script>jquery/jquery-1.6.1.min.js</script></action> 

jQueryがすべてのページに含まれます。

重要! noConflict()モードでjQueryを実行する必要があります。だからこれは私のためにカスタムオプションを使って任意のページの最初のラジオボタンを選択するように働いたJSのようなものです。

var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 

// auto selects the first input with radio class 
$j('.options-list input.radio:first').attr('checked','checked'); 

}); 

このファイルをjqueryフォルダに保存し、jQライブラリにリンクしたのと同じ方法でリンクしました。

フラッシュされた私のキャッシュ、そしてボイル!

こちらがお役に立てば幸いです。

0

ゴーアプリへの\ code \コア\のメイジ\カタログ\ブロック\製品\ビュー\オプション\タイプ\のselect.php

あなたがここに見つけることができますあなたのカスタムオプションのタイトルとされているかのタイトルと条件。

例えば、私のカスタムオプションのタイトルは価格である:(の$ this - > htmlEscape($ _ option->のgetTitle()== '価格'))場合

1

あなたはとして、jQueryのを使用することができますゴードン氏によると、価格を更新するには、チェック時にopConfig.reloadPrice()関数を実行する必要があります。

var $j = jQuery.noConflict(); 

$j(document).ready(function(){ 

// auto selects the first input with radio class 
$j('.options-list input.radio:first').attr('checked','checked'); 
opConfig.reloadPrice(); 
}); 
関連する問題