Magento2: Minicart está cheio enquanto o Carrinho está vazio


12

Muitos de nossos clientes reclamam que adicionam itens ao carrinho e, quando fazem o checkout, são redirecionados para um carrinho vazio.
Nós pensamos que isso poderia resultar de um tempo de sessão muito curto, por isso tentamos aumentar o tempo de vida do cookie / sessão para 86400 (no administrador e no servidor).
Depois disso, tentei reproduzir o problema e consegui obter um comportamento estranho, como você pode ver na imagem em anexo.
Eu adicionei produtos ao carrinho, voltei depois de 20 a 30 minutos e vi meus itens no minicart. então procedi ao checkout e ele me redirecionou para este carrinho vazio enquanto o minicart ainda estava mostrando meus itens (atualizar a página também não funcionou): insira a descrição da imagem aqui

-- Qualquer ideia?


ATUALIZAÇÃO: Até o momento, resolvemos esse problema alterando novamente a configuração da sessão para usar arquivos (Memcached desativado). Eu sei que o Magento recomenda o uso do Memcached e não tenho idéia do que causou esse problema ...

Respostas:


2

app \ code \ Vendor \ Extension \ etc \ frontend \ section.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Customer:etc/sections.xsd">
    <action name="extension/controller/action">
        <section name="cart"/>
    </action>
</config>

Neste nome de parâmetro de ação, você deve passar a ação completa (por exemplo, checkout / carrinho / add) na qual o carrinho é atualizado. Isso significa que você exclui ou adiciona programaticamente um produto ao carrinho no carrinho de compras.

Por fim, comente abaixo se tiver algum problema ao usar este código.

Feliz codificação!


0

O Magento coloca todos os dados específicos do cliente (carrinho de compras, nome do cliente, etc ...) no armazenamento local para impedir o armazenamento em cache de proxies como o Varnish. Posteriormente, esses dados são inseridos na página usando JS. O comportamento que você observou é uma configuração incorreta da vida útil do cache. Idealmente, ele deve estar alinhado com a vida útil da sessão.


Como eu disse, aumentamos a sessão e o cookie para 86400, o que não ajudou. A única coisa que parece corrigir o problema foi desativar o memcached (que foi configurado conforme sugerido pelos documentos do Magento). Paramos de verificar o problema depois disso, então não tenho idéia do que realmente o causou.
Pini
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.