Magento 2.1.9: Jak usunąć cenę sprzedaży w wielu sklepach?

11

Czy jest jakiś sposób na usunięcie cen sprzedaży w różnych sklepach? używasz jakiegoś skryptu? lub w jakikolwiek inny sposób niż admin?

Korzystam z pięciu różnych sklepów, domyślny sklep jest łatwy, ale inne sklepy wielowiekowe zajmują wieki, ponieważ możesz zmieniać tylko proste produkty ręcznie i wygląda na to, że nie możesz zmienić produktów konfigurowalnych.

Zasadniczo sprzedaż butów zajmuje około 20 minut, co nie może być właściwe.

Aasim Goriya
źródło

Odpowiedzi:

1

Cena jest ustalana na poziomie prostego produktu w Magento 2 (a produkty konfigurowalne odziedziczą specjalną cenę z prostych produktów poniżej).

Najszybszym sposobem, aby to zrobić poprawnie, byłoby użycie interfejsu API REST w skrypcie. Jest to najlepszy sposób dla początkujących - Magento stworzyło go jako interfejs do integracji zewnętrznej, z którego należy korzystać w miarę możliwości.

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

Prawidłowy punkt końcowy to PUT / V1 / products / {sku} catalogProductRepository -

Pamiętaj, że musisz wstawić kod sklepu do wywołującego adresu URL, jak opisano tutaj.

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

Oto dobry post na temat używania skryptu z interfejsem API REST

POBIERZ lub ZESTAW Specjalna cena produktu za pomocą REST API

Inną opcją jest import CSV do wielu sklepów przy użyciu funkcji importu Magento 2 - najlepiej, jeśli nie znasz programowania Magento / PHP:

Oto artykuł na ten temat:

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

W przeciwnym razie, jeśli masz środowisko testowe i jesteś bardziej pewny kodowania, możesz utworzyć własny skrypt do aktualizacji:

W klasie miałbyś:

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

następnie, aby go uruchomić, użyj następującego;

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

uruchomić dla każdego sklepu.

Przepraszam za błędy, piszę tylko po pamięci. Najpierw uruchom środowisko testowe!

BAF
źródło
1

Try1: Możesz użyć wtyczki do aktualizacji ceny sprzedaży.

Try2: Możesz usunąć sell_price z domyślnego zestawu atrybutów lub wyłączyć ten atrybut, więc bez żadnego wysiłku możesz to zrobić.

Prince Yadav
źródło
Try1: Jakaś wtyczka? Try2: Tak, ale dodałem różne ceny dla wszystkich sklepów, więc jak mogę wyłączyć ten atrybut?
Aasim Goriya,
Tak, możesz wyłączyć ten atrybut
Prince Yadav,
Mam na myśli, o którym atrybucie mówisz?
Aasim Goriya,
„sell_price” należy wyłączyć lub usunąć z domyślnego zestawu atrybutów
Prince Yadav,
1

Użyj reguł cen katalogowych. Marketing> Zasady cen katalogowych

W ten sposób możesz ustawić ceny sprzedaży we wszystkich sklepach lub wybrać sklepy, a także łatwo zaktualizować i włączyć lub wyłączyć masowo.

Możesz ustawić warunki, aby dopasować wszystkie rodzaje kombinacji: kategoria / producent / rozmiar / kolor / sku / mpn

Możesz również tworzyć atrybuty w wewnętrznej bazie danych, których można używać do reguł cen katalogowych. na przykład. Mam atrybut „sezon” z rozwijanymi opcjami, takimi jak 2017-4, czyli produkty zimowe.

Tworzę więc regułę ceny katalogowej dla: Producent = Billabong, Kategoria = Koszule, Sezon = 2017-4 i stosuję 20% zniżki na produkty spełniające te kryteria. Możesz ustawić strony internetowe, w których reguła jest stosowana, a także daty, w których reguły mają być uruchamiane.

Możesz także użyć koloru lub rozmiaru w swoich regułach. Staje się to bardzo korzystne, gdy produkt nie zmienia nazwy przez kilka lat, a istnieje stara kolorystyka, której chcesz się pozbyć, możesz ustawić tylko jedną kombinację kolorów i lub rozmiarów, które będą w sprzedaży, podczas gdy reszta konfigurowalne produkty pozostają w stałej cenie.

dawhoo
źródło
dzięki za odpowiedź, właściwie mam już skonfigurowaną cenę sprzedaży dla wszystkich moich sklepów, więc muszę ją usunąć ze wszystkich moich sklepów. Również jeśli dodałem cenę sprzedaży prostego produktu wszystkich produktów stowarzyszonych, to również to usunie, więc proszę zasugerować mi, jeśli masz jakieś rozwiązanie dla tego. Z góry
dziękuję
Przejdź do katalogu, wybierz wszystkie produkty> Aktualizuj atrybuty> zaznacz „Cena specjalna” i pozostaw puste. Spowoduje to usunięcie ceny sprzedaży ze wszystkich produktów, a następnie możesz zacząć korzystać z reguł koszyka. Jeśli masz wiele produktów, możesz to zrobić w partiach po 500 produktów na raz, aby ułatwić sobie życie i nie tracić czasu. Proces ten zajmuje trochę czasu, ale w mniejszych partiach nie jest tak źle.
dawhoo,