Magento 2.1.9: Як зняти відпускну ціну в мульти магазині?


11

Чи є можливість зняти ціни продажу в різних магазинах? використовуєте будь-який сценарій? або використовуючи будь-який інший спосіб, крім адміністратора?

Я використовую п'ять різних магазинів, магазин за замовчуванням простий, але інші багато магазини займають віки, оскільки ви можете змінювати лише прості продукти вручну, і, схоже, ви не можете змінити налаштовані продукти.

В основному, щоб зняти взуття, яка не може бути правильною, потрібно близько 20 хвилин.

Відповіді:


1

Ціна встановлюється на рівні простого продукту в Magento 2 (і настроювані продукти успадкують спеціальну ціну від простих продуктів під ним).

Найшвидший спосіб зробити це правильно було б використовувати API REST всередині сценарію. Це найкращий спосіб, якщо ви новачок - Magento створив це як інтерфейс для зовнішньої інтеграції, який слід використовувати, де це можливо.

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

Правильною кінцевою точкою є PUT / V1 / products / {sku} - Каталог продуктуРепозитарію -

Зверніть увагу, що вам потрібно ввести код перегляду магазину в URL-адресу виклику, як описано тут.

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

Ось хороший пост про використання сценарію з API REST

Отримати або встановити спеціальну ціну продукту за допомогою REST API

Інший варіант - імпортувати багатоскладовий CSV за допомогою функцій імпорту Magento 2 - це найкраще, якщо ви не знайомі з розробкою Magento / PHP:

Ось стаття про це:

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

В іншому випадку, якщо у вас є тестове середовище і ви впевнені в кодуванні, ви можете створити власний сценарій для оновлення:

Всередині класу ви мали б:

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

потім для запуску використовуйте наступне;

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

запустити для кожного магазину.

Вибачте за будь-які помилки, я просто набираю пам’ять. Спершу запустіть тестове середовище!


1

Спробуйте1: Ви можете скористатися додатком для плагінів для оновлення ціни продажу.

Спробуйте2: Ви можете видалити sell_price з набору атрибутів за замовчуванням або відключити цей атрибут, тому без будь-яких зусиль ви можете це зробити.


Спробуйте1: Будь-який плагін? Спробуйте2: Так, але я додав різні ціни для всіх магазинів, тож як я можу відключити цей атрибут?
Аасим Горія

Так, ви можете відключити цей атрибут
Князь Ядав

Я маю на увазі, про який атрибут ви говорите?
Аасим Горія

"sell_price" потрібно відключити або зняти з default default attribute_set
Принц Ядав

1

Використовуйте правила цін по каталогу. Маркетинг> Каталог Правила цін

Таким чином, ви можете встановити відпускні ціни у всіх магазинах або у вибраних магазинах, і їх легко оновити та включити або вимкнути масовою масою.

Ви можете встановити умови для відповідності всім способам комбінацій: категорія / виробник / розмір / колір / ску / mpn

Ви також можете створити атрибути в бекенді, які ви можете використовувати для правил цінових каталогів. напр. У мене є атрибут "сезон" з випадаючими варіантами на зразок 2017-4, це зимові продукти.

Тому я складаю правило ціни за каталогом для: Виробник = Billabong, Категорія = Сорочки, Сезон = 2017-4 та застосовую знижку 20% на продукти, що відповідають цим критеріям. Ви можете встановити веб-сайти, на яких застосовується правило, а також дати, в які потрібно запускати правила.

Ви також можете використовувати колір або розміри у своїх правилах. Це стає дуже вигідним, коли продукт не змінював назви протягом декількох років і є старий кольоровий колір, який ви хочете позбутися, ви можете встановити лише одну комбінацію кольорів і розмірів, яка буде продаватися, а решта продукти, що настроюються, залишаються звичайними цінами.


дякую за відгук. Насправді я вже встановив ціну продажу для всіх своїх багато магазинів, тому мені потрібно видалити її з усіх моїх магазинів. Крім того, якщо я додав ціну продажу для простого продукту всього асоційованого продукту, це також видалить, тому, будь ласка, підкажіть, чи є у вас рішення для цього. Заздалегідь
дякую

Перейдіть до каталогу, виберіть усі продукти> Оновити атрибути> встановіть прапорець "Спеціальна ціна" та залиште його порожнім. Це видалить ціну продажу з усіх товарів, і тоді ви можете почати використовувати правила кошика. Якщо у вас багато продуктів, ви можете зробити це одночасно партіями по 500 продуктів, щоб зробити речі трохи простішими, а не вичерпаними. Процес може зайняти деякий час, але в менших партіях це не так вже й погано.
dawhoo
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.