Magento 2.1.9: Como remover o preço de venda na Multi Store?

12

Existe alguma maneira de remover os preços de venda em diferentes lojas? usando algum script? ou usando qualquer outra maneira, exceto admin?

Estou usando cinco lojas diferentes, a loja padrão é fácil, mas outras lojas levam tempo, pois você só pode alterar produtos simples manualmente e parece que não pode alterar os produtos configuráveis.

Basicamente, leva cerca de 20 minutos para tirar um sapato da venda, o que não pode estar certo.

Aasim Goriya
fonte

Respostas:

1

O preço é definido no nível do produto simples no Magento 2 (e produtos configuráveis ​​herdarão o preço especial dos produtos simples abaixo dele).

A maneira mais rápida de fazer isso corretamente seria usar a API REST dentro de um script. Esta é a melhor maneira se você é iniciante - o Magento criou isso como uma interface para integração externa que deve ser usada sempre que possível.

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

O terminal correto é PUT / V1 / products / {sku} de catalogProductRepository -

Observe que você precisa inserir o código de armazenamento temporário no URL de chamada, conforme descrito aqui.

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

Aqui está uma boa postagem sobre o uso de um script com a API REST

GET ou SET Preço especial do produto usando a API REST

Outra opção é importar um CSV de várias lojas usando a funcionalidade de importação do Magento 2 - isso é melhor se você não estiver familiarizado com o desenvolvimento do Magento / PHP:

Aqui está um artigo sobre isso:

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

Caso contrário, se você tiver um ambiente de teste e estiver mais confiante com a codificação, poderá criar seu próprio script para atualizar:

Dentro de uma classe, você terá:

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

depois, para executá-lo, use o seguinte;

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

executar para cada loja.

Desculpas por qualquer erro, estou apenas digitando pela memória. Execute primeiro em um ambiente de teste!

BAF
fonte
1

Try1: você pode usar o plugin approch para atualizar o preço de venda.

Try2: você pode remover o sell_price do conjunto de atributos padrão ou desabilitar esse atributo para que, sem nenhum esforço, você possa fazer isso.

Prince Yadav
fonte
Try1: Algum plugin? Try2: Sim, mas adicionei preços diferentes para todas as lojas. Como posso desativar esse atributo?
Aasim Goriya
Sim, você pode desativar esse atributo
Prince Yadav
Quero dizer de qual atributo você está falando?
Aasim Goriya
"sell_price" precisa desabilitar ou remover do attribute_set padrão
Prince Yadav
1

Use regras de preço de catálogo. Marketing> Regras de preço de catálogo

Dessa forma, você pode definir os preços de venda por todas as lojas ou selecionar lojas e é fácil atualizar e ativar ou desativar em massa.

Você pode definir as condições para corresponder a todos os tipos de combinações: categoria / fabricante / tamanho / cor / sku / mpn

Também é possível criar atributos no back-end que você pode usar para regras de preço de catálogo. por exemplo. Eu tenho um atributo 'temporada' com opções suspensas como 2017-4, que são produtos de inverno.

Portanto, faço uma regra de preço de catálogo para: Fabricante = Billabong, Categoria = Camisas, Temporada = 2017-4 e aplico 20% de desconto em produtos que atendem a esses critérios. E você pode definir os sites em que a regra é aplicada, bem como as datas em que deseja que as regras sejam executadas.

Você também pode usar cores ou tamanhos em suas regras. Isso se torna muito vantajoso quando o produto não muda de nome há alguns anos e há uma colorway antiga da qual você deseja se livrar, você pode definir apenas a combinação de uma cor e / ou tamanho que estará à venda, enquanto o restante da produtos configuráveis ​​mantêm o preço normal.

dawhoo
fonte
obrigado pela resposta. Na verdade, eu já configurei o preço de venda de todas as minhas lojas múltiplas, por isso preciso removê-lo de todas as minhas lojas. Além disso, se eu adicionei o preço de venda do produto simples de todos os produtos associados, isso também será removido. Por isso, sugira-me se você tiver alguma solução para este. Agradecemos antecipadamente
Aasim Goriya
Vá para o catálogo, selecione todos os produtos> Atualizar atributos> marque o "Preço especial" e deixe em branco. Isso removerá o preço de venda de todos os produtos e você poderá começar a usar as regras do carrinho. Se você tiver muitos produtos, faça isso em lotes de 500 produtos por vez para facilitar um pouco as coisas e não o tempo limite. Demora um pouco para o processo ser executado, mas em lotes menores não é tão ruim.
dawhoo