有什么办法可以降低不同商店的销售价格?使用任何脚本?或使用除管理员以外的任何其他方式?
我使用的是五个不同的商店,默认商店很容易,但是其他多个商店却花了很多时间,因为您只能手动更改简单的产品,而您似乎无法更改可配置的产品。
基本上,卖掉鞋子大约需要20分钟,这是不对的。
有什么办法可以降低不同商店的销售价格?使用任何脚本?或使用除管理员以外的任何其他方式?
我使用的是五个不同的商店,默认商店很容易,但是其他多个商店却花了很多时间,因为您只能手动更改简单的产品,而您似乎无法更改可配置的产品。
基本上,卖掉鞋子大约需要20分钟,这是不对的。
Answers:
价格在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一起使用的好文章
另一个选择是使用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:您可以使用插件方法来更新售价。
尝试2:您可以从默认属性集中删除sell_price或禁用此属性,因此您无需付出任何努力即可执行此操作。
使用目录价格规则。营销>目录价格规则
这样,您可以设置所有商店或选择商店的销售价格,并且很容易更新和启用或禁用整体。
您可以设置条件以匹配所有组合方式:类别/制造商/尺寸/颜色/ sku / mpn
您还可以在可用于目录价格规则的后端中创建属性。例如。我有一个带有下拉选项的属性“季节”,例如2017-4,这是冬季产品。
因此,我为以下商品制定了目录价格规则:制造商= Billabong,类别=衬衫,季节= 2017-4,并对符合这些条件的产品应用20%的折扣。您可以设置应用规则的网站,以及希望规则运行的日期。
您还可以在规则中使用颜色或大小。如果产品几年没有改名,并且您想摆脱旧的配色,则只能设置一种颜色和/或尺寸的组合出售,而其余的则要出售,这将变得非常有利。可配置产品保持正常价格。