El precio se establece en un nivel de producto simple en Magento 2 (y los productos configurables heredarán el precio especial de los productos simples debajo de él).
La forma más rápida de hacerlo correctamente sería utilizar la API REST dentro de un script. Esta es la mejor manera si es un principiante: Magento ha creado esto como una interfaz para la integración externa que debe usarse siempre que sea posible.
http://devdocs.magento.com/swagger/index_20.html#!/catalogProductRepositoryV1
El punto final correcto es PUT / V1 / products / {sku} de catalogProductRepository -
Tenga en cuenta que debe poner el código de storeview en la URL de llamada como se describe aquí.
http://devdocs.magento.com/guides/v2.0/rest/rest_endpoints.html
Aquí hay una buena publicación sobre el uso de un script con la API REST
OBTENER o ESTABLECER el precio especial del producto utilizando la API REST
Otra opción es importar un CSV de varias tiendas utilizando la funcionalidad de importación de Magento 2; esto es mejor si no está familiarizado con el desarrollo de Magento / PHP:
Aquí hay un artículo al respecto:
https://www.alexcorradi.org/blog/a-guide-on-how-to-import-export-products-in-magento-2
De lo contrario, si tiene un entorno de prueba y tiene más confianza con la codificación, puede crear su propio script para actualizar:
Dentro de una clase tendrías:
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);
}
luego para ejecutarlo use lo siguiente;
$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);
ejecutar para cada tienda.
Disculpas por cualquier error, solo estoy escribiendo de memoria. ¡Primero ejecute en un entorno de prueba!
Use las reglas de precios de catálogo. Marketing> Reglas de precios de catálogo
De esta forma, puede establecer los precios de venta en todas las tiendas o seleccionar tiendas y es fácil de actualizar y habilitar o deshabilitar en masa.
Puede establecer las condiciones para que coincidan con todo tipo de combinaciones: categoría / fabricante / tamaño / color / sku / mpn
También puede crear atributos en el backend que puede usar para las reglas de precios de catálogo. p.ej. Tengo un atributo 'temporada' con opciones desplegables como 2017-4, que son productos de invierno.
Así que establezco una regla de precio de catálogo para: Fabricante = Billabong, Categoría = Camisas, Temporada = 2017-4 y aplico un 20% de descuento a los productos que cumplan con esos criterios. Y puede configurar los sitios web donde se aplica la regla, así como las fechas en que desea que se ejecuten las reglas.
También puede usar color o tamaños en sus reglas. Esto se vuelve muy ventajoso cuando el producto no ha cambiado de nombre durante algunos años y hay una antigua combinación de colores de la que desea deshacerse, puede establecer solo la combinación de un color o tamaño para que esté a la venta, mientras que el resto del Los productos configurables se mantienen al precio normal.
fuente