2012-07-02 80 views
-1

編輯Magento的自定義模塊運費多種稅率不工作

它看起來像叫了速度代碼返回同樣的事,所有的這些運送方式。它看起來像我需要找到一種方法來定義每個運輸選項的reate代碼。

末編輯

我創建了一個自定義的運輸模塊在Magento的UPS貨運運費。我需要選擇貨運+電梯門,貨運+住宅和貨運+電梯門&住宅。根據另一個電路板上的響應,而不是爲每個選項都設置複選框,我只是創建單獨的方法。

shipping options

正如你可以從圖片看,Magento的正確計算價格。我遇到的問題是,當我選擇其中一個選項並點擊「更新總數」時,它會以最低的價格恢復到第一個選項。在檢查單選按鈕上的輸入之後,我發現它們都具有相同的值。

<ul> 
<li> 
    <input name="estimate_method[2]" type="radio" value="excellence_excellence" id="s_method_excellence_excellence_2" class="radio"> 
    <label for="s_method_excellence_excellence_2">Freight<span class="price">$678.88</span></label> 
</li> 
<li> 
    <input name="estimate_method[2]" type="radio" value="excellence_excellence" id="s_method_excellence_excellence_2" class="radio"> 
    <label for="s_method_excellence_excellence_2">Freight (Residential)<span class="price">$744.66</span></label> 
</li> 
. 
. and so on. 
. 
</ul> 

由於所有的輸入具有相同的價值「excellence_excellence」,這是有道理的,價格也只是回到默認的第一個。不幸的是,我不知道如何解決這個問題。

下面是指向我的Model類,config.xml和system.xml文件的鏈接。任何幫助,想法或提供的資源將不勝感激。

Model Config System

+1

HTML元素的ID在整個文檔中必須是唯一的,你的代碼會破壞它。 –

+1

@ Tiberiu-IonuţStan我意識到這一點。這段代碼是在Magento的某處自動生成的。我的問題是我可以在哪裏重寫或修復這個問題。 –

回答

2

我看着你的模型文件,它具有這樣的:

$method->setCarrier($this->_code); 
$method->setMethod($this->_code); 

和$此 - > _代碼爲「卓越」,所以你可能會加入像所允許的方法的名稱考慮改變方法:

$method->setMethod($this->_code.$allowedmethod_code); //where allowedmethod_code have to be set based on your custom method names 
0

嘗試這種

"<input name="estimate_method[]" 

這將產生用於此特定輸入一個唯一的數組索引。

+0

Magento中的哪些文件可以修改以進行此更改?就像我在上面的回覆中所說的,代碼是自動生成的,我不知道發生了什麼。 –