仅当图表超过一定金额时,Magento统一费率发货

仅当图表超过一定金额时,Magento统一费率发货,magento,shipping,magento-rules,Magento,Shipping,Magento Rules,在Magento 1.7中,是否有任何方法仅当图表超过一定数量时才显示固定费率发货?根据规则,唯一的选择似乎是免费送货,但我的目标是,如果图表中的小计为xx,则采用统一费率(如果小计较低,则采用正常费率)。谢谢-默认情况下,Espen不是。虽然要做到这一点,很容易扩展固定费率运输承运人方法。只需创建一个新模块,扩展统一费率shipping system.xml,这样就有了一个新的最低购物车价格选项(这将允许您通过管理员对其进行配置)。扩展以下类Mage\u Shipping\u Model\u

在Magento 1.7中,是否有任何方法仅当图表超过一定数量时才显示固定费率发货?根据规则,唯一的选择似乎是免费送货,但我的目标是,如果图表中的小计为xx,则采用统一费率(如果小计较低,则采用正常费率)。谢谢-默认情况下,Espen不是。虽然要做到这一点,很容易扩展固定费率运输承运人方法。只需创建一个新模块,扩展统一费率shipping system.xml,这样就有了一个新的最低购物车价格选项(这将允许您通过管理员对其进行配置)。扩展以下类Mage\u Shipping\u Model\u Carrier\u Flatrate并重写collectRates方法以检查购物车总数与管理配置值。如果购物车值不够,则返回false,并且它不会显示为选项,否则将返回管理员中设置的成本

编辑:类似下面这样的操作就可以了。扩展类,不要修改核心

public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
    // Get The Minimum Order Value From Admin Config & Compare To Cart Subtotal (Base Prices)
    if (!$this->getConfigFlag('minimum_order') || $request->getBaseSubtotalInclTax() < $this->getConfigFlag('minimum_order')) {
        return false;
    } else {
        return parent::collectRates($request);
    }
}
public function collectRates(Mage\u Shipping\u Model\u Rate\u Request$Request)
{
//从管理配置中获取最小订单值并与购物车小计(基本价格)进行比较
如果(!$this->getConfigFlag('minimum_order')||$request->getBaseSubottalInclTax()<$this->getConfigFlag('minimum_order')){
返回false;
}否则{
返回父项::收取费用($request);
}
}

Hi。我设法创建了新模块,并添加了购物车价格选项(称为“最低订单”)。让它在前端工作。但并没有很好地调整回收率,因此新的统一费率仅在图表等于或高于“最小订单”值时显示。你能帮帮我吗?谢谢!更新了示例。请注意$this->getConfigFlag()方法。这是为给定运营商的新参数检索管理配置值的内容。然后,我们只需与购物车小计进行比较。如果返回false,则该方法不可用。Hi。我无法让getConfigFlag函数工作,似乎它无法从admin获取值。但是,我暂时不需要更改此值,因此尝试了更硬的代码版本:if($request->getbasesubtotalintax())我怀疑如果你无法获得管理员值,你没有正确覆盖该类。请查看此处,以获取有关如何使用Magento样式的指南。如果有帮助,请接受我的回答。我担心我的技能不足以使最后一部分正常工作。它看起来是正确的,但…运气不好:(然而,你们的帮助非常好,这让我达到了我的目标:只有当图表超过一定数量时,才显示固定费率发货。再次,非常感谢Ashley!