Magento定制运输模块多种费率不起作用

时间:2012-07-02 13:51:34

标签: php magento magento-1.6

修改

对于所有这些运输选项,看起来被调用以获得费率代码返回相同的东西。看起来我需要找到一种方法来为每个发货选项定义reate代码。

结束修改

我在Magento中为UPS Freight运输创建了一个自定义运输模块。我需要货运+升降门,货运+住宅,货运+升降闸门等选项。住宅。根据另一个板上的响应,我只需创建单独的方法,而不是为每个选项设置复选框。

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

2 个答案:

答案 0 :(得分:2)

我看了你的模型文件,它有这个:

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

和$ this-&gt; _code是“卓越”,因此您可以通过添加允许方法的名称来考虑更改方法,如:

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

答案 1 :(得分:0)

试试这个

"<input name="estimate_method[]"

这将为此特定输入生成唯一的数组索引。