Magento 2.1.9:マルチストアでセール価格を削除する方法は?


12

別のストアでセール価格を削除する方法はありますか?スクリプトを使用していますか?または管理者以外の方法を使用していますか?

私は5つの異なるストアを使用しています。デフォルトのストアは簡単ですが、他の複数のストアは単純な製品を手動でしか変更できず、構成可能な製品を変更できないように見えるため、時間がかかります。

基本的に、靴のセールを外すのに20分ほどかかります。

回答:


1

価格はMagento 2のシンプルな製品レベルで設定されます(構成可能な製品は、その下のシンプルな製品から特別価格を継承します)。

これを正しく行う最も簡単な方法は、スクリプト内でREST APIを使用することです。これは、初心者の場合に最適な方法です。Magentoは、可能な限り使用する必要がある外部統合用のインターフェースとしてこれを作成しました。

http://devdocs.magento.com/swagger/index_20.html#!/catalogProductRepositoryV1

正しいエンドポイントは、catalogProductRepositoryのPUT / V1 / products / {sku}です-

ここで説明するように、storeviewコードを呼び出しURLに配置する必要があることに注意してください。

http://devdocs.magento.com/guides/v2.0/rest/rest_endpoints.html

REST APIでのスクリプトの使用に関する良い投稿は次のとおりです

REST APIを使用して製品の特別価格を取得または設定する

もう1つのオプションは、Magento 2インポート機能を使用してマルチストアCSVをインポートすることです。これは、Magento / PHP開発に慣れていない場合に最適です。

これに関する記事は次のとおりです。

https://www.alexcorradi.org/blog/a-guide-on-how-to-import-export-products-in-magento-2

それ以外の場合、テスト環境があり、コーディングに自信がある場合は、更新する独自のスクリプトを作成できます。

クラスの中で:

protected $action;

public function __construct(\Magento\Catalog\Model\Product\Action $productAction) {
   $this->action = $productAction;
}

public function updatePrice($productIds, $data, $storeId) {
    $this->action->updateAttributes($productIds, $data, $storeId);
}

それを実行するには、以下を使用します。

 $specialPrice = null; // OR '' can't remember off the top of my head which clears it - perhaps either.

 $data = ['special_price' => $specialPrice];
 $storeId = 1; //whatever store id you like
 $productIds = [1,2,3,4,5,6,7]; //whatever product ids you wish to change.

 $this->updatePrice($productIds, $data, $storeId);

各店舗に実行します。

間違いをお詫びします。私はただメモリでタイプしています。まずテスト環境で実行してください!


1

Try1:更新の販売価格にプラグインの承認を使用できます。

Try2:デフォルトの属性セットからsell_priceを削除するか、この属性を無効にすることができます。


Try1:プラグインはありますか?Try2:はい。ただし、すべてのストアに異なる価格を追加したので、この属性を無効にするにはどうすればよいですか?
Aasim Goriya 2017

ええ、あなたはその属性を無効にすることができます
Yadav王子1917

あなたが話しているのはどの属性ですか?
Aasim Goriya

「sell_price」は無効にするか、デフォルトのattribute_setから削除する必要があります
Yadav王子様'20

1

カタログ価格ルールを使用します。マーケティング>カタログ価格ルール

この方法では、すべてのストアまたは選択したストアごとにセール価格を設定でき、一括で更新および有効化または無効化を簡単に行うことができます。

あらゆる種類の組み合わせに一致するように条件を設定できます:カテゴリー/メーカー/サイズ/色/ sku / mpn

カタログ価格ルールに使用できる属性をバックエンドに作成することもできます。例えば。「シーズン」という属性があり、2017-4年のようなドロップダウンオプションがあり、冬の商品です。

そこで、メーカー=ビラボン、カテゴリ=シャツ、シーズン= 2017-4のカタログ価格ルールを作成し、それらの基準に一致する製品に20%オフを適用します。また、ルールを適用するWebサイトと、ルールを実行する日付を設定できます。

ルールで色やサイズを使用することもできます。これは、製品の名前が数年間変更されておらず、古いカラーウェイを取り除く必要がある場合に非常に有利になります。残りの1つのカラーとサイズの組み合わせのみを販売するように設定できます。構成可能な製品は通常の価格のままです。


回答ありがとうございます。実際、すべてのマルチストアのセール価格をすでに設定しているので、すべてのストアから削除する必要があります。また、すべての関連製品の単純な製品の販売価格を追加した場合、それも削除されます。このための解決策があるかどうかを提案してください。よろしく
Aasim Goriya

カタログに移動し、すべての製品を選択>属性を更新>「特別価格」をチェックし、空白のままにします。これにより、すべての商品からセール価格が削除され、カートのルールを使用できるようになります。多数の製品がある場合は、一度に500製品のバッチでこれを実行して、タイムアウトしないように少し簡単にすることができます。プロセスの実行にはしばらく時間がかかりますが、小さいバッチではそれほど悪くはありません。
dawhoo 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.