Il prezzo è impostato a livello di prodotto semplice in Magento 2 (e i prodotti configurabili erediteranno il prezzo speciale dai prodotti semplici sottostanti).
Il modo più rapido per farlo correttamente sarebbe usare l'API REST all'interno di uno script. Questo è il modo migliore se sei un principiante - Magento ha creato questo come un'interfaccia per l'integrazione esterna che dovrebbe essere utilizzata ovunque possibile.
http://devdocs.magento.com/swagger/index_20.html#!/catalogProductRepositoryV1
L'endpoint corretto è PUT / V1 / products / {sku} di catalogProductRepository -
Tieni presente che devi inserire il codice storeview nell'URL chiamante come descritto qui.
http://devdocs.magento.com/guides/v2.0/rest/rest_endpoints.html
Ecco un buon post sull'uso di uno script con l'API REST
OTTIENI o IMPOSTA il prezzo speciale del prodotto utilizzando l'API REST
Un'altra opzione è quella di importare un CSV multi store usando la funzionalità di importazione Magento 2 - questo è il migliore se non si ha familiarità con lo sviluppo di Magento / PHP:
Ecco un articolo a riguardo:
https://www.alexcorradi.org/blog/a-guide-on-how-to-import-export-products-in-magento-2
Altrimenti se si dispone di un ambiente di test e si è più sicuri della codifica, è possibile creare il proprio script per l'aggiornamento:
All'interno di una classe avresti:
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);
}
quindi per eseguirlo utilizzare quanto segue;
$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);
correre per ogni negozio.
Mi scuso per eventuali errori, sto solo scrivendo a memoria. Si prega di eseguire prima un ambiente di test!