Magento 2.1.9: ¿Cómo eliminar el precio de venta en una tienda múltiple?

12

¿Hay alguna forma de eliminar los precios de venta en diferentes tiendas? usando cualquier script? o usando cualquier otra forma excepto el administrador?

Estoy usando cinco tiendas diferentes, la tienda predeterminada es fácil, pero otras tiendas múltiples llevan años, ya que solo puede cambiar productos simples manualmente y parece que no puede cambiar los productos configurables.

Básicamente, lleva unos 20 minutos sacar un zapato de la venta, lo que no puede ser correcto.

Aasim Goriya
fuente

Respuestas:

1

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!

BAF
fuente
1

Prueba1: puede usar el complemento de aproximación para actualizar el precio de venta.

Try2: puede eliminar sell_price del conjunto de atributos predeterminado o deshabilitar este atributo, por lo que sin ningún esfuerzo puede hacerlo.

Príncipe Yadav
fuente
Try1: ¿Algún complemento? Try2: Sí, pero he agregado precios diferentes para todas las tiendas, entonces, ¿cómo puedo desactivar este atributo?
Aasim Goriya
Sí, puedes deshabilitar ese atributo
Prince Yadav
Quiero decir, ¿de qué atributo estás hablando?
Aasim Goriya
"sell_price" necesita deshabilitar o eliminar el conjunto de atributos predeterminado
Prince Yadav
1

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.

dawhoo
fuente
gracias por la respuesta, en realidad ya he configurado el precio de venta para todas mis tiendas múltiples, así que necesito eliminarlo de todas mis tiendas. Además, si agregué un precio de venta para un producto simple de todos los productos asociados, eso también se eliminará, así que sugiérame si tiene alguna solución para este. Gracias de antemano
Aasim Goriya
Vaya al catálogo, seleccione todos los productos> Actualizar atributos> verifique el "Precio especial" y déjelo en blanco. Eso eliminará el precio de venta de todos los productos y luego puede comenzar a usar las reglas del carrito. Si tiene muchos productos, puede hacerlo en lotes de 500 productos a la vez para facilitar un poco las cosas y no agotar el tiempo. El proceso tarda un tiempo en ejecutarse, pero en lotes más pequeños no es tan malo.
dawhoo