Módulo Outlet para Magento 2 - Automatização de saldos
Kowal Outlet Products é um módulo para Magento 2 que automatiza a gestão de produtos outlet, produtos em saldo e fins de série. A solução ajuda a manter o catálogo organizado, a atribuir produtos à categoria OUTLET, a marcá-los com um atributo dedicado e a removê-los do outlet quando já não devem estar visíveis como oferta em saldo.
O módulo foi preparado a pensar em lojas onde os produtos outlet mudam dinamicamente: alguns são produtos simples individuais, outros são variantes de produtos configuráveis e outros exigem suporte para várias lojas, vários websites e diferentes configurações de preços.
Principal valor comercial
No Magento standard, a gestão de um outlet exige muitas vezes o controlo manual de vários elementos em simultâneo: categorias, estado do produto, preço especial, stocks, variantes configuráveis e cache. Em catálogos maiores, é fácil ocorrer uma situação em que um produto continua visível em OUTLET apesar de estar esgotado, o produto configurável pai permanece na categoria sem variantes ativas ou o preço especial é restaurado de forma inconsistente com a configuração da loja.
Kowal Outlet Products organiza este processo. O administrador pode adicionar uma lista de SKU ao outlet, e o módulo trata da atribuição às categorias corretas, da definição do atributo OUTLET, da gestão dos pais configuráveis e da posterior remoção automática dos produtos após o fim da venda.
Principais funcionalidades
- importação em massa de produtos para OUTLET através de uma lista de SKU,
- atribuição de produtos a uma ou várias categorias outlet,
- suporte para produtos simples e variantes de produtos configuráveis,
- marcação automática de produtos com o atributo
sale, - atribuição de pais configuráveis ao OUTLET quando as suas variantes são outlet,
- remoção automática de produtos da categoria OUTLET após esgotarem ou após a desativação do estado outlet,
- remoção do pai configurável quando nenhuma variante já é um produto OUTLET,
- verificação cíclica dos produtos através de cron,
- execução manual do recálculo a partir da consola Magento,
- atualização dos índices e da cache de produtos e categorias,
- suporte para stock e backorders após o fim dos saldos,
- backup e restauro de preços especiais,
- suporte para configuração multistore e website scope para preços,
- marcações OUTLET junto dos swatches das variantes na página do produto.
Como funciona o processo OUTLET
O administrador seleciona as categorias outlet na configuração do módulo. Em seguida, no painel de administração, pode colar uma lista de SKU e adicionar produtos aos saldos. O módulo atribui os produtos à categoria OUTLET e define o atributo sale.
Para produtos configuráveis, o módulo funciona em dois níveis. Se a variante for outlet, o pai configurável também pode ser adicionado à categoria OUTLET para que o cliente veja o produto na listagem. Quando a variante esgotar ou deixar de ter o estado OUTLET, o módulo verifica se o pai ainda tem alguma variante outlet ativa. Caso não tenha, o pai é removido do OUTLET.
O cron do módulo verifica regularmente o estado dos produtos. Quando um produto já não pode ser vendido, o módulo remove-o das categorias outlet, altera o estado outlet e atualiza os dados nos índices e na cache. Desta forma, a listagem da categoria OUTLET mantém-se atualizada sem trabalho manual do administrador.
Gestão de preços especiais
O módulo pode proteger os preços especiais contra a perda durante o ciclo OUTLET. Ao adicionar um produto ao outlet, o preço especial atual é copiado para atributos técnicos. Após o fim do outlet, o preço pode ser restaurado ou limpo, dependendo da configuração.
O backup inclui:
special_price,special_from_date,special_to_date.
O módulo respeita o scope de preços do Magento. Se os preços forem globais, funciona ao nível global. Se os preços forem definidos por website, o módulo guarda e restaura os valores de acordo com as store views predefinidas dos websites. Não efetua conversões cambiais, porque o Magento armazena os preços como valores base para um determinado scope, e as moedas das lojas são convertidas pelos mecanismos do Magento.
Multistore e múltiplas moedas
Kowal Outlet Products pode funcionar em instalações Magento com várias store views e websites. Durante a importação, o administrador pode indicar os websites aos quais o produto deve ser atribuído. A configuração do módulo está disponível ao nível default, website e store, permitindo adaptar o funcionamento à estrutura da loja.
No âmbito dos preços especiais, o módulo não multiplica nem converte valores entre moedas. Mantém os montantes guardados no Magento para o scope de preços correto. Isto permite evitar erros resultantes da conversão manual de taxas de câmbio e deixa a apresentação das moedas a cargo dos mecanismos standard do Magento.
Exemplo de utilização
A loja vende vestuário e tem uma categoria OUTLET, na qual apresenta as últimas unidades de produtos de coleções anteriores. O administrador recebe uma lista de SKU de variantes que devem entrar em saldo, por exemplo:
TSHIRT-BLACK-MTSHIRT-BLACK-LJACKET-NAVY-XLSHOES-WHITE-42Depois de colar a lista no painel de importação, o módulo:
- define os produtos como OUTLET,
- atribui-os à categoria
OUTLET, - atribui os pais dos produtos configuráveis, se as suas variantes forem outlet,
- guarda uma cópia dos preços especiais atuais,
- opcionalmente, atualiza as definições de stock,
- atualiza os índices e a cache.
O cliente vê os produtos na categoria OUTLET e as marcações junto das variantes. Quando a última unidade de uma variante é vendida, o cron do módulo deteta que o produto já não é salable, remove-o do OUTLET e atualiza a listagem. Se esta for a última variante outlet de um determinado produto configurável, o pai também é removido da categoria OUTLET.
A quem se destina este módulo
O módulo destina-se a lojas Magento 2 que:
- mantêm uma secção OUTLET ou SALE permanente,
- trabalham frequentemente com fins de série,
- têm produtos configuráveis com variantes em diferentes estados de saldo,
- pretendem reduzir o trabalho manual na atualização de categorias,
- precisam de controlar preços especiais num ambiente multistore,
- querem evitar produtos desatualizados nas listagens de categorias.
Elementos técnicos
- Nome do pacote Composer:
kowal/module-outletproducts - Nome do módulo Magento:
Kowal_OutletProducts - Comando CLI:
bin/magento kowal_outletproducts:generate - Painel de configuração:
Stores > Configuration > kowal > OUTLET Products - Painel de importação:
kowal > Upload Outlet Products - Principais atributos de produto:
sale,special_price_copy,special_from_date_copy,special_to_date_copy,special_price_copy_active
Resultado da implementação
Após a implementação do módulo, a loja obtém um processo coerente de gestão do outlet: os produtos são colocados nas categorias corretas, as variantes e os pais são mantidos de forma lógica, os preços especiais ficam protegidos e os dados do catálogo são atualizados após alterações. Assim, os administradores podem concentrar-se na seleção de produtos para saldos, em vez de limpar manualmente categorias e cache.
Instalação e configuração do módulo Kowal Outlet Products
Informações básicas
- Pacote Composer:
kowal/module-outletproducts - Módulo Magento:
Kowal_OutletProducts - Tipo de aplicação necessário: Magento 2
- Dependência do pacote:
kowal/base - Comando CLI do módulo:
bin/magento kowal_outletproducts:generate
Instalação através do Composer
Adicione o repositório do módulo:
composer config repositories.module.outlet.products vcs https://github.com/kowalco/magento-2-outlet-productsSe o repositório for privado, configure o token de acesso:
composer config --auth github-oauth.github.com Instale o módulo:
composer require kowal/module-outletproductsAtive o módulo:
php bin/magento module:enable Kowal_OutletProductsExecute a atualização da base de dados:
php bin/magento setup:upgradeNum ambiente de produção, execute a compilação DI e o deploy dos recursos estáticos de acordo com o processo de implementação da loja:
php bin/magento setup:di:compilephp bin/magento setup:static-content:deployLimpe a cache:
php bin/magento cache:flushAtualização de uma instalação existente
Depois de atualizar o módulo, execute:
composer update kowal/module-outletproductsphp bin/magento setup:upgradephp bin/magento cache:flushSe a loja estiver a funcionar em production mode, execute também os passos standard de implementação:
php bin/magento setup:di:compilephp bin/magento setup:static-content:deploysetup:upgrade é necessário porque o módulo adiciona e atualiza atributos de produto usados para gerir o OUTLET e as cópias de preços especiais.
Atributos de produto
O módulo adiciona ou utiliza os seguintes atributos:
| Atributo | Significado |
|---|---|
sale | Marca o produto como OUTLET. |
special_price_copy | Cópia do valor special_price anterior à entrada do produto no OUTLET. |
special_from_date_copy | Cópia da data special_from_date. |
special_to_date_copy | Cópia da data special_to_date. |
special_price_copy_active | Marcador que indica que a cópia do preço especial foi efetuada. |
Configuração no painel de administração
Aceda a:
Stores > Configuration > kowal > OUTLET ProductsOpções disponíveis:
| Opção | Descrição |
|---|---|
Włącz moduł Outlet | Ativa ou desativa o funcionamento do módulo. |
Usuń ceny specjalne dla produktów po wyprzedaży | Define se, após o fim do OUTLET, o preço especial deve ser limpo. Se a opção estiver desativada, o módulo restaura o preço a partir da cópia. |
Kategorie outletowe | Lista de categorias às quais os produtos OUTLET são atribuídos e das quais são posteriormente removidos automaticamente. |
Wyłącz zarządzanie stanem magazynowym po wyprzedaży | Permite desativar manage_stock após o fim dos saldos. |
Włącz backorder po zakończeniu wyprzedaży outletowej | Permite ativar backorder e marcar o produto como disponível após o fim da venda outlet. |
A configuração está disponível ao nível default, website e store. As categorias OUTLET usadas pelo cron são obtidas a partir da configuração predefinida.
Configuração da categoria OUTLET
- Crie no Magento uma categoria ou categorias destinadas ao outlet.
- Certifique-se de que as categorias estão ativas e visíveis no menu ou na listagem, caso devam estar disponíveis para os clientes.
- Na configuração do módulo, selecione todas as categorias outlet no campo
Kategorie outletowe. - Guarde a configuração.
- Limpe a cache do Magento.
php bin/magento cache:flushImportação de produtos para OUTLET
Aceda ao painel:
kowal > Upload Outlet ProductsNo formulário:
- Cole a lista de SKU, um SKU por linha.
- Selecione as categorias OUTLET.
- Opcionalmente, selecione os websites aos quais o produto deve ser atribuído.
- Escolha se o módulo deve ativar a gestão de stock para os produtos importados.
- Clique em
Importuj.
Exemplo de lista de SKU:
TSHIRT-BLACK-MTSHIRT-BLACK-LJACKET-NAVY-XLSHOES-WHITE-42Durante a importação, o módulo:
- atribui os produtos à categoria OUTLET,
- define o atributo
sale, - atualiza os pais configuráveis,
- cria uma cópia do preço especial e das datas de promoção,
- atualiza o stock de acordo com a opção selecionada,
- atualiza os índices e a cache de produtos e categorias.
Suporte para produtos configuráveis
Se o produto importado for uma variante de um produto configurável, o módulo procura o pai e atribui-o à categoria OUTLET. Assim, o produto configurável aparece na listagem da categoria e o cliente pode selecionar a variante outlet.
Durante o recálculo cíclico, o módulo verifica se o pai ainda tem variantes OUTLET ativas. Caso não tenha, o pai é removido da categoria OUTLET.
Gestão de preços especiais
Ao importar para OUTLET, o módulo guarda uma cópia de:
special_price,special_from_date,special_to_date.
A cópia é guardada de acordo com o scope do atributo de preço especial no Magento:
- para preços globais: ao nível global,
- para preços por website: ao nível da store view predefinida de cada website,
- para preços por store: ao nível da store view.
O módulo não converte moedas. O Magento armazena os preços como valores base para o scope correto, e a apresentação das moedas no frontend permanece a cargo dos mecanismos standard do Magento.
O comportamento após o fim do OUTLET depende da opção Usuń ceny specjalne dla produktów po wyprzedaży:
Tak: o módulo limpa o preço especial e remove a cópia técnica,Nie: o módulo restaura o preço especial e as datas a partir da cópia e, em seguida, remove a cópia técnica.
Cron
O módulo tem uma tarefa cron:
kowal_outletproducts_outletA tarefa executa o helper OUTLET e verifica ciclicamente os produtos outlet. O cron remove os produtos da categoria OUTLET quando já não devem estar visíveis nessa categoria, e atualiza os índices e a cache.
Após a instalação, certifique-se de que o cron do Magento funciona corretamente:
php bin/magento cron:runNum ambiente de produção, o cron deve ser executado a partir do crontab do sistema do utilizador da aplicação Magento.
Execução manual do recálculo
O recálculo pode ser iniciado manualmente a partir da CLI:
php bin/magento kowal_outletproducts:generateO comando executa o mesmo processo que é iniciado pelo cron.
Índices e cache
Após alterações, o módulo atualiza os principais índices de produtos e catálogo:
catalog_product_price,catalog_product_category,catalogsearch_fulltext,inventory,cataloginventory_stock.
O módulo também limpa a cache das tags dos produtos e categorias OUTLET, para que a listagem da categoria seja atualizada após a alteração do estado ou a remoção do produto.
Se necessário, pode forçar uma reindexação completa:
php bin/magento indexer:reindexphp bin/magento cache:flushTeste após a implementação
Teste funcional recomendado:
- Selecione um produto simples com stock disponível.
- Defina-lhe um preço especial e datas de promoção.
- Adicione o produto ao OUTLET através do painel de importação.
- Verifique se o produto apareceu na categoria OUTLET.
- Verifique se o atributo
saletem o valorTak. - Para um produto configurável, verifique se o pai apareceu no OUTLET.
- Altere o estado do produto para que deixe de ser salable.
- Execute o cron ou o comando CLI.
- Verifique se o produto foi removido da categoria OUTLET.
- Verifique se o preço especial foi restaurado ou removido de acordo com a configuração.
Problemas mais frequentes
O produto continua visível no OUTLET
Verifique:
- se o cron do Magento está a funcionar,
- se o produto ainda tem
sale = 1, - se o produto está atribuído a uma das categorias configuradas como OUTLET,
- se os índices e a cache foram atualizados.
Comandos auxiliares:
php bin/magento cron:runphp bin/magento indexer:reindexphp bin/magento cache:flushO pai configurável continua no OUTLET
Verifique se alguma variante do produto ainda tem sale = 1. O pai é mantido no OUTLET enquanto tiver uma variante outlet ativa.
O preço especial não foi restaurado
Verifique:
- se o produto foi anteriormente adicionado ao OUTLET após a instalação dos atributos de cópia,
- se o atributo
special_price_copy_activefoi definido, - se a configuração
Usuń ceny specjalne dla produktów po wyprzedażyestá definida comoNie, - qual é o scope de preços configurado no Magento.
Os preços diferem entre store views
Verifique a configuração do scope de preços no Magento. O módulo não converte moedas nem sincroniza preços entre store views. Restaura os valores guardados para o scope de preços correto.
Desinstalação
Se o módulo tiver de ser desativado:
php bin/magento module:disable Kowal_OutletProductsphp bin/magento setup:upgradephp bin/magento cache:flushRemoção do pacote Composer:
composer remove kowal/module-outletproductsphp bin/magento setup:upgradephp bin/magento cache:flushAntes de remover o módulo, recomenda-se verificar se os produtos não exigem a limpeza manual do atributo sale ou a remoção da categoria OUTLET.













