Цена устанавливается на уровне простого продукта в Magento 2 (и конфигурируемые продукты будут наследовать специальную цену от простых продуктов под ней).
Самый быстрый способ сделать это правильно - использовать REST API внутри скрипта. Это лучший способ, если вы новичок - Magento создал его как интерфейс для внешней интеграции, который следует использовать везде, где это возможно.
http://devdocs.magento.com/swagger/index_20.html#!/catalogProductRepositoryV1
Правильная конечная точка - это каталог PUT / V1 / products / {sku} каталога продукта.
Обратите внимание, что вам нужно поместить код магазина в URL-адрес вызова, как описано здесь.
http://devdocs.magento.com/guides/v2.0/rest/rest_endpoints.html
Вот хороший пост об использовании скрипта с REST API
ПОЛУЧИТЬ или УСТАНОВИТЬ Продукт по специальной цене, используя REST API
Другой вариант - импортировать мультисервисный CSV с использованием функции импорта Magento 2 - это лучше всего, если вы не знакомы с разработкой 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);
запустить для каждого магазина.
Извиняюсь за любые ошибки, я просто печатаю по памяти. Пожалуйста, сначала запустите тестовую среду!
Используйте правила цен каталога. Маркетинг> Правила цены каталога
Таким образом, вы можете установить цены продажи во всех магазинах или выбрать магазины, и это легко обновить и включить или отключить в массовом порядке.
Вы можете установить условия для соответствия всевозможным комбинациям: категория / производитель / размер / цвет / sku / mpn
В бэкэнде также можно создавать атрибуты, которые можно использовать для правил цены каталога. например. У меня есть атрибут «сезон» с опциями выпадающего меню, такими как 2017-4, то есть зимние продукты.
Поэтому я создаю правило цены каталога для: Производитель = Billabong, Категория = Рубашки, Сезон = 2017-4 и применяю скидку 20% на товары, соответствующие этим критериям. И вы можете установить сайты, на которых применяется правило, а также даты, когда вы хотите, чтобы правила запускались.
Вы также можете использовать цвет или размеры в ваших правилах. Это становится очень выгодным, когда продукт не менял названия в течение нескольких лет, и есть старый цветовой путь, от которого вы хотите избавиться, вы можете установить только одну комбинацию цвета и / или размера, которая будет продаваться, в то время как остальные конфигурируемые продукты остаются в цене.
источник