2011-03-15 23 views
1

我們有一個Magento商店,其中一些產品具有自定義選項作爲單選按鈕。每個非必需選項都默認選中第一個按鈕,但不是必需的選項。我怎樣才能讓他們檢查?Magento自定義選項 - 選中每個第一個單選按鈕

我已經安裝了擴展依賴自定義選項(庫)。這讓我可以選擇默認選擇哪個自定義選項,但不會將價格更新爲正確的值。

感謝埃維幫助

回答

0

有一個名爲像optionsConfig.reloadPrice()它被調用時,根據選項更新價格javascript函數。您可能需要在dom:loaded事件期間觸發此事件。

+0

我已經putiing這個試了一下:「<腳本類型= 」文/ JavaScript的「> document.observe( 」DOM:加載「 功能(){ () }); 'in /template/catalog/product/view.phtml。它不起作用。我究竟做錯了什麼? – David

2

此解決方案可能不是最適合您的,但我遇到了同樣的問題,只是修復了它。

首先,我必須使用一種複雜的方法在Magento中正確安裝jQuery。作爲問題的一部分,我相信來自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> 

我複製其中之一,並將路徑替換爲這樣的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

轉到應用程序\代碼\核心\法師\目錄\塊\產品\查看\選項\型號\ select.php

您可以在這裏找到您的自定義選項,標題和設置,如果你的標題條件。

例如,我的自定義選項的標題是價格:

如果($這個 - > htmlEscape($ _選項 - >的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(); 
});