我如何仅在后端启用免费送货(用于订单输入)
-
16-10-2019 - |
题
当我们从管理面板创建订单时,如何启用免费送货作为运输方法?
解决方案
覆盖
app/code/core/Mage/Shipping/Model/Carrier/Freeshipping.php
并添加
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
if (!$this->getConfigFlag('active')) {
return false;
}
if (!Mage::app()->getStore()->isAdmin())) {
return false;
}
并设置为活跃的后端
如果您不想覆盖核心,则可以将代码放在本地
我可以想象,我们将其作为后端设置中的额外选项添加,这样可以使其可配置。
其他提示
尽管在付款方式中,只能在前端和后端(而不是反之亦然)上使用标志来激活它们,但对于运输方法,根本没有这样的标志。
您可以在自定义模块中得出自己的运输方法并覆盖 getAllowedMethods()
要确定是否要在前端或后端创建订单,
一个非常简单的解决方法是,使用只有您知道的促销代码创建免费的手推车规则。然后可以简单地将其输入后端。
除非通过管理员调用collectrates(),否则您将使collectrates()返回。如何知道它是否通过管理员调用,您可以设置注册表值。