Magento 2.1.9: Come rimuovere il prezzo di vendita nel multi store?


12

Esiste un modo per rimuovere i prezzi di vendita in diversi negozi? usando qualche script? o usando un altro modo tranne admin?

Sto utilizzando cinque negozi diversi, il negozio predefinito è semplice ma altri multi store richiedono anni in quanto è possibile modificare manualmente solo prodotti semplici e sembra che non sia possibile modificare i prodotti configurabili.

Fondamentalmente, ci vogliono circa 20 minuti per togliere una scarpa che non può essere giusta.

Risposte:


1

Il prezzo è impostato a livello di prodotto semplice in Magento 2 (e i prodotti configurabili erediteranno il prezzo speciale dai prodotti semplici sottostanti).

Il modo più rapido per farlo correttamente sarebbe usare l'API REST all'interno di uno script. Questo è il modo migliore se sei un principiante - Magento ha creato questo come un'interfaccia per l'integrazione esterna che dovrebbe essere utilizzata ovunque possibile.

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

L'endpoint corretto è PUT / V1 / products / {sku} di catalogProductRepository -

Tieni presente che devi inserire il codice storeview nell'URL chiamante come descritto qui.

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

Ecco un buon post sull'uso di uno script con l'API REST

OTTIENI o IMPOSTA il prezzo speciale del prodotto utilizzando l'API REST

Un'altra opzione è quella di importare un CSV multi store usando la funzionalità di importazione Magento 2 - questo è il migliore se non si ha familiarità con lo sviluppo di Magento / PHP:

Ecco un articolo a riguardo:

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

Altrimenti se si dispone di un ambiente di test e si è più sicuri della codifica, è possibile creare il proprio script per l'aggiornamento:

All'interno di una classe avresti:

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

quindi per eseguirlo utilizzare quanto segue;

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

correre per ogni negozio.

Mi scuso per eventuali errori, sto solo scrivendo a memoria. Si prega di eseguire prima un ambiente di test!


1

Prova 1: puoi utilizzare l'approvazione del plugin per aggiornare il prezzo di vendita.

Try2: è possibile rimuovere sell_price dal set di attributi predefinito o disabilitare questo attributo, quindi senza alcuno sforzo è possibile farlo.


Try1: qualsiasi plug-in? Try2: Sì, ma ho aggiunto prezzi diversi per tutti i negozi, quindi come posso disabilitare questo attributo?
Aasim Goriya,

Sì, puoi disabilitare quell'attributo
Prince Yadav il

Voglio dire di quale attributo stai parlando?
Aasim Goriya,

"sell_price" deve disabilitare o rimuovere dall'attributo_set predefinito
Prince Yadav il

1

Utilizza le regole dei prezzi di catalogo. Marketing> Regole dei prezzi di catalogo

In questo modo, puoi impostare i prezzi di vendita per tutti i negozi o selezionare i negozi ed è facile aggiornare e abilitare o disabilitare in massa.

È possibile impostare le condizioni per abbinare tutti i tipi di combinazioni: categoria / produttore / taglia / colore / sku / mpn

È inoltre possibile creare attributi nel back-end che è possibile utilizzare per le regole dei prezzi di catalogo. per esempio. Ho un attributo 'stagione' con opzioni a discesa come 2017-4, ovvero i prodotti invernali.

Quindi creo una regola del prezzo di catalogo per: Produttore = Billabong, Categoria = Camicie, Stagione = 2017-4 e applico uno sconto del 20% sui prodotti che soddisfano tali criteri. È inoltre possibile impostare i siti Web in cui viene applicata la regola, nonché le date in cui si desidera eseguire le regole.

Puoi anche usare il colore o le dimensioni nelle tue regole. Questo diventa molto vantaggioso quando il prodotto non ha cambiato nome per alcuni anni e c'è una vecchia colorazione di cui vuoi sbarazzarti, puoi impostare solo una combinazione di colore e / o dimensioni da vendere, mentre il resto del i prodotti configurabili mantengono il prezzo normale.


grazie per la risposta, in realtà ho già impostato il prezzo di vendita per tutti i miei multi-store, quindi devo rimuoverlo da tutti i miei negozi. Inoltre, se ho aggiunto un prezzo di vendita per un prodotto semplice di tutto il prodotto associato, anche quello verrà rimosso, quindi per favore suggeriscimi se hai qualche soluzione per questo. Grazie in anticipo
Aasim Goriya il

Vai al catalogo, seleziona tutti i prodotti> Aggiorna attributi> controlla il "Prezzo speciale" e lascialo vuoto. Ciò rimuoverà il prezzo di vendita da tutti i prodotti e quindi potrai iniziare a utilizzare le regole del carrello. Se hai molti prodotti, potresti volerlo fare in lotti di 500 prodotti alla volta per rendere le cose un po 'più facili e non andare in timeout. Il processo richiede un po 'di tempo, ma in lotti più piccoli non è poi così male.
dawhoo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.