Magento 2.1.9: Wie entferne ich den Verkaufspreis in mehreren Geschäften?


12

Gibt es eine Möglichkeit, Verkaufspreise in verschiedenen Geschäften zu entfernen? mit einem Skript? oder auf andere Weise als admin?

Ich verwende fünf verschiedene Stores. Der Standard-Store ist einfach, aber andere Multi-Stores brauchen Ewigkeiten, da Sie einfache Produkte nur manuell ändern können und anscheinend die konfigurierbaren Produkte nicht ändern können.

Grundsätzlich dauert es ungefähr 20 Minuten, um einen Schuh aus dem Verkauf zu nehmen, was nicht richtig sein kann.

Antworten:


1

Der Preis wird in Magento 2 auf der Ebene einfacher Produkte festgelegt (und konfigurierbare Produkte erben den Sonderpreis von einfachen Produkten darunter).

Der schnellste Weg, dies richtig zu machen, wäre die Verwendung der REST-API in einem Skript. Dies ist der beste Weg, wenn Sie ein Anfänger sind - Magento hat dies als Schnittstelle für die externe Integration erstellt, die nach Möglichkeit verwendet werden sollte.

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

Der richtige Endpunkt ist das PUT / V1 / products / {sku} - von catalogProductRepository -

Beachten Sie, dass Sie den Storeview-Code wie hier beschrieben in die aufrufende URL einfügen müssen.

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

Hier ist ein guter Beitrag zur Verwendung eines Skripts mit der REST-API

GET oder SET Produkt Sonderpreis mit REST API

Eine weitere Option ist das Importieren einer CSV mit mehreren Speichern mithilfe der Magento 2-Importfunktion. Dies ist am besten geeignet, wenn Sie mit der Magento / PHP-Entwicklung nicht vertraut sind:

Hier ist ein Artikel darüber:

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

Andernfalls können Sie, wenn Sie über eine Testumgebung verfügen und mit der Codierung sicherer sind, ein eigenes Skript zum Aktualisieren erstellen:

In einer Klasse hätten Sie:

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

Verwenden Sie dann Folgendes, um es auszuführen.

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

für jedes Geschäft ausführen.

Entschuldigung für etwaige Fehler, ich schreibe nur aus dem Gedächtnis. Bitte führen Sie zuerst eine Testumgebung aus!


1

Try1: Sie können Plugin Approch verwenden, um den Verkaufspreis zu aktualisieren.

Try2: Sie können sell_price aus dem Standardattributsatz entfernen oder dieses Attribut deaktivieren, sodass Sie dies ohne großen Aufwand tun können.


Try1: Irgendein Plugin? Try2: Ja, aber ich habe für alle Geschäfte unterschiedliche Preise hinzugefügt. Wie kann ich dieses Attribut deaktivieren?
Aasim Goriya

Ja, Sie können dieses Attribut deaktivieren
Prinz Yadav

Ich meine, über welches Attribut sprichst du?
Aasim Goriya

"sell_price" muss deaktiviert oder aus dem Standardattribut_set entfernt werden
Prince Yadav

1

Verwenden Sie Katalogpreisregeln. Marketing> Katalogpreisregeln

Auf diese Weise können Sie die Verkaufspreise für alle Geschäfte oder ausgewählte Geschäfte festlegen und es ist einfach, en masse zu aktualisieren und zu aktivieren oder zu deaktivieren.

Sie können die Bedingungen so einstellen, dass sie allen Arten von Kombinationen entsprechen: Kategorie / Hersteller / Größe / Farbe / SKU / MPN

Sie können im Backend auch Attribute erstellen, die Sie für Katalogpreisregeln verwenden können. z.B. Ich habe ein Attribut 'Saison' mit Dropdown-Optionen wie 2017-4, bei denen es sich um Winterprodukte handelt.

Daher erstelle ich eine Katalogpreisregel für: Hersteller = Billabong, Kategorie = Hemden, Saison = 2017-4 und wende 20% Rabatt auf Produkte an, die diesen Kriterien entsprechen. Außerdem können Sie die Websites festlegen, auf denen die Regel angewendet wird, sowie die Daten, an denen die Regeln ausgeführt werden sollen.

Sie können in Ihren Regeln auch Farben oder Größen verwenden. Dies ist sehr vorteilhaft, wenn das Produkt seit einigen Jahren keinen Namen mehr geändert hat und es eine alte Farbgebung gibt, die Sie entfernen möchten. Sie können nur die eine Farb- und / oder Größenkombination festlegen, die zum Verkauf angeboten werden soll, während der Rest des Produkts konfigurierbare Produkte bleiben zum regulären Preis.


Vielen Dank für die Antwort. Eigentlich habe ich bereits den Verkaufspreis für alle meine Multi-Stores festgelegt, daher muss ich ihn aus allen meinen Stores entfernen. Auch wenn ich den Verkaufspreis für ein einfaches Produkt aller assoziierten Produkte hinzugefügt habe, wird dieser ebenfalls entfernt. Bitte schlagen Sie mir vor, wenn Sie eine Lösung für dieses Produkt haben. Vielen Dank im Voraus
Aasim Goriya

Gehen Sie zum Katalog, wählen Sie alle Produkte aus> Attribute aktualisieren> überprüfen Sie den "Sonderpreis" und lassen Sie ihn leer. Dadurch wird der Verkaufspreis von allen Produkten entfernt, und Sie können die Warenkorbregeln verwenden. Wenn Sie viele Produkte haben, können Sie dies in Chargen von jeweils 500 Produkten tun, um die Dinge ein wenig einfacher zu machen und keine Zeitüberschreitung zu verursachen. Es dauert eine Weile, bis der Prozess ausgeführt wird, aber in kleineren Chargen ist es nicht so schlimm.
Dawhoo
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.