バックエンドのみで送料無料を有効にするにはどうすればよいですか(注文入力用)
-
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()は、管理者を介して呼び出されない限り空に戻ります。管理者を介して呼び出されたかどうかを知る方法は、レジストリ値を設定できます。
所属していません magento.stackexchange