O Magento, como plataforma de e-commerce, oferece amplas capacidades para gerenciamento de produtos, incluindo recursos para importação e exportação de produtos. No entanto, em alguns casos, o processo de importação de Downloadable Products pode causar erros na gestão de atributos. Neste artigo, vamos discutir um patch para o arquivo Downloadable.php que resolve o problema de salvar o atributo redundante 'links_purchased_separately'. Além disso, falaremos sobre uma solução temporária para o problema em que a opção "Links can be purchased separately" sempre permanece ativada após a importação de Downloadable Products devido a um bug do Magento.
Passo 1: descrevendo o problema
Após importar Downloadable Products para o Magento, pode surgir um problema com a opção "Links can be purchased separately". Devido a um bug do Magento, essa opção sempre fica ativada, mesmo quando os atributos correspondentes ('links_purchased_separately' ou 'purchased_separately') estão ausentes nos dados de entrada. Isso pode levar a consequências indesejadas, como exibição incorreta do status de disponibilidade do produto.
Passo 2: aplicando o patch
O patch fornecido abaixo para o arquivo Downloadable.php resolve o problema de salvar o atributo 'links_purchased_separately'. O patch faz alterações no método prepareAttributesWithDefaultValueForSave para evitar salvar o atributo quando os dados correspondentes estão ausentes na entrada.
--- /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;
}
Conclusão
Usar o Magento para gerenciar a sua loja pode ser confiável e eficiente, mas situações ocasionais exigem intervenção. O patch e a solução temporária fornecidos vão ajudá-lo a resolver o problema de salvar o atributo 'links_purchased_separately' e a opção "Links can be purchased separately" após importar Downloadable Products. Lembre-se da importância de atualizar regularmente a sua plataforma e testar as alterações antes de aplicá-las no site em produção.