Magento 2.1.9: Comment supprimer le prix de vente dans plusieurs magasins?

12

Existe-t-il un moyen de supprimer les prix de vente dans différents magasins? en utilisant un script? ou en utilisant un autre moyen que l'administrateur?

J'utilise cinq magasins différents, le magasin par défaut est facile, mais d'autres magasins multiples prennent du temps car vous ne pouvez modifier que des produits simples manuellement et il semble que vous ne pouvez pas modifier les produits configurables.

Fondamentalement, il faut environ 20 minutes pour retirer une vente de chaussures qui ne peut pas être correcte.

Aasim Goriya
la source

Réponses:

1

Le prix est fixé au niveau du produit simple dans Magento 2 (et les produits configurables hériteront du prix spécial des produits simples en dessous).

Le moyen le plus rapide de le faire correctement serait d'utiliser l'API REST dans un script. C'est le meilleur moyen si vous êtes débutant - Magento a créé cela comme une interface pour l'intégration externe qui doit être utilisée dans la mesure du possible.

http://devdocs.magento.com/swagger/index_20.html#!/catalogProductRepositoryV1

Le point final correct est PUT / V1 / products / {sku} de catalogProductRepository -

Notez que vous devez mettre le code storeview dans l'URL d'appel comme décrit ici.

http://devdocs.magento.com/guides/v2.0/rest/rest_endpoints.html

Voici un bon article sur l'utilisation d'un script avec l'API REST

OBTENEZ ou RÉGLEZ le prix spécial du produit à l'aide de l'API REST

Une autre option consiste à importer un CSV multi-magasins en utilisant la fonctionnalité d'importation de Magento 2 - c'est mieux si vous n'êtes pas familier avec le développement Magento / PHP:

Voici un article à ce sujet:

https://www.alexcorradi.org/blog/a-guide-on-how-to-import-export-products-in-magento-2

Sinon, si vous disposez d'un environnement de test et êtes plus confiant avec le codage, vous pouvez créer votre propre script à mettre à jour:

Dans une classe, vous auriez:

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);
}

puis pour l'exécuter, utilisez ce qui suit;

 $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);

courir pour chaque magasin.

Toutes mes excuses pour toute erreur, je ne fais que taper par mémoire. Veuillez d'abord exécuter sur un environnement de test!

BAF
la source
1

Try1: Vous pouvez utiliser l'approche du plugin pour mettre à jour le prix de vente.

Try2: Vous pouvez supprimer sell_price de l'ensemble d'attributs par défaut ou désactiver cet attribut donc sans effort, vous pouvez le faire.

Prince Yadav
la source
Try1: Tout plugin? Try2: Oui, mais j'ai ajouté des prix différents pour tous les magasins, alors comment puis-je désactiver cet attribut?
Aasim Goriya
Oui, vous pouvez désactiver cet attribut
Prince Yadav
Je veux dire de quel attribut vous parlez?
Aasim Goriya
"sell_price" doit désactiver ou supprimer du jeu d'attributs par défaut
Prince Yadav
1

Utilisez les règles de prix du catalogue. Marketing> Règles de prix catalogue

De cette façon, vous pouvez définir les prix de vente par tous les magasins ou certains magasins et il est facile de mettre à jour et d'activer ou de désactiver en masse.

Vous pouvez définir les conditions pour correspondre à toutes sortes de combinaisons: catégorie / fabricant / taille / couleur / sku / mpn

Vous pouvez également créer des attributs dans le backend que vous pouvez utiliser pour les règles de prix de catalogue. par exemple. J'ai un attribut «saison» avec des options déroulantes comme 2017-4, qui sont des produits d'hiver.

Je fais donc une règle de prix catalogue pour: Fabricant = Billabong, Catégorie = Chemises, Saison = 2017-4 et applique 20% de réduction sur les produits correspondant à ces critères. Et vous pouvez définir les sites Web où la règle est appliquée, ainsi que les dates auxquelles vous souhaitez que les règles s'exécutent.

Vous pouvez également utiliser des couleurs ou des tailles dans vos règles. Cela devient très avantageux lorsque le produit n'a pas changé de nom depuis quelques années et qu'il y a un ancien coloris dont vous voulez vous débarrasser, vous ne pouvez définir qu'une seule combinaison de couleur et / ou de taille à vendre, tandis que le reste de la les produits configurables restent au prix régulier.

dawhoo
la source
merci pour la réponse, en fait, j'ai déjà configuré le prix de vente pour tous mes magasins multiples, donc je dois le supprimer de tous mes magasins. De plus, si j'ai ajouté le prix de vente du produit simple de tous les produits associés, cela sera également supprimé, alors n'hésitez pas à me suggérer si vous avez une solution pour celui-ci. Merci d'avance
Aasim Goriya
Accédez au catalogue, sélectionnez tous les produits> Mettre à jour les attributs> cochez le "Prix spécial" et laissez-le vide. Cela supprimera le prix de vente de tous les produits et vous pourrez alors commencer à utiliser les règles du panier. Si vous avez beaucoup de produits, vous voudrez peut-être le faire par lots de 500 produits à la fois pour faciliter les choses et ne pas expirer. Il faut un certain temps pour que le processus s'exécute, mais dans des lots plus petits, ce n'est pas trop mal.
dawhoo