Magento, in quanto piattaforma e-commerce, offre ampie funzionalità per la gestione dei prodotti, comprese funzionalità di import ed export. Tuttavia, in alcuni casi il processo di importazione dei Downloadable Products può portare a errori nella gestione degli attributi. In questo articolo discuteremo una patch per il file Downloadable.php che risolve il problema del salvataggio dell'attributo ridondante 'links_purchased_separately'. Inoltre parleremo di una soluzione temporanea per il problema in cui l'opzione "Links can be purchased separately" rimane sempre attiva dopo l'importazione dei Downloadable Products a causa di un bug di Magento.

Passo 1: descrizione del problema

Dopo aver importato i Downloadable Products in Magento, può presentarsi un problema con l'opzione "Links can be purchased separately". A causa di un bug di Magento, questa opzione risulta sempre abilitata, anche se i corrispondenti attributi ('links_purchased_separately' o 'purchased_separately') sono assenti nei dati di input. Ciò può portare a conseguenze indesiderate, come la visualizzazione errata dello stato di disponibilità del prodotto.

Passo 2: applicare la patch

La patch riportata di seguito per il file Downloadable.php risolve il problema del salvataggio dell'attributo 'links_purchased_separately'. La patch modifica il metodo prepareAttributesWithDefaultValueForSave per evitare il salvataggio dell'attributo se i dati corrispondenti sono assenti nell'input.

--- /Model/Import/Product/Type/Downloadable.php	2022-03-08 00:52:02.000000000 +0200
+++ /Model/Import/Product/Type/Downloadable.php	2023-11-29 16:38:53.060641590 +0200
@@ -448,6 +448,9 @@
{
    $resultAttrs = parent::prepareAttributesWithDefaultValueForSave($rowData, $withDefaultValue);
    $resultAttrs = array_merge($resultAttrs, $this->addAdditionalAttributes($rowData));
+    if (!in_array('links_purchased_separately', $rowData) && !in_array('purchased_separately', $rowData)) {
+        unset($resultAttrs['links_purchased_separately']);
+    }
    return $resultAttrs;
}

Conclusione

Utilizzare Magento per gestire il Suo negozio può essere affidabile ed efficiente, ma occasionalmente alcune situazioni richiedono un intervento. La patch fornita e la soluzione temporanea La aiuteranno a risolvere il problema del salvataggio dell'attributo 'links_purchased_separately' e dell'opzione "Links can be purchased separately" dopo l'importazione dei Downloadable Products. Ricordi l'importanza di aggiornare regolarmente la piattaforma e di testare le modifiche prima di applicarle al sito in produzione.