Com o cache do Magento 2.0.4 , mais especificamente o cache de páginas ativado , tudo funciona.
Se eu desativá-lo, limpe os cookies e efetue login como cliente, pois os produtos no minicart não estão lá.
A mensagem de boas-vindas realmente não funciona corretamente. Preciso adicionar um produto ao carrinho em uma página do produto para ver o minicart. Do que se eu for fazer o checkout, o país não será exibido no resumo do endereço (endereço de entrega já adicionado à minha conta).
Eu fiz depuração e parece que o problema está apontando para:
module-customer/view/frontend/web/js/customer-data.js
. O cookie private_content_version
é definido module-page-cache/view/frontend/web/js/page-cache.js
e usado em customer-data.js
. Veja a customerData::reload
função.
Com o cache da página desativado, os dados não são carregados do servidor como a função dataProvider::getFromServer()
.
Quando o cache da página está desativado, o cookie private_content_version
não existe (o page-cache.js não é executado fora do curso). Mas o cookie section_data_ids
possui apenas '*' e 'messages' => vazios (falso ou nulo).
Quando o cache da página está ativado, existe private_content_version
e section_data_ids
tem quais chaves com valores:
*: null
cart: 123
compare-products: 123
customer: 123
directory-data: 123
last-ordered-items: 123
multiplewishlist: 123
review: 123
wishlist: 123
Após o login com o cache da página ativado, no painel do cliente, há 2 solicitações adicionais de ajax que carregam dados:
http://test.localhost/customer/section/load/?sections=&update_section_id=false&_=123
http://test.localhost/customer/section/load/?sections=directory-data&update_section_id=false&_=123
Eles contêm objetos json com dados específicos do cliente e dados de diretório, como todos os países e regiões. Com essas chamadas, no checkout, o resumo do endereço exibe o nome do país. Veja: module-customer/view/frontend/web/js/sections-config.js
e module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js
, função getCountryName
.
Isso é um bug do Magento 2 ou é algo que eu errei? obrigado
fonte
GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)
Respostas:
Este parece ser um problema pendente, embora talvez tenha sido resolvido nas versões mais recentes do M2. Veja os problemas do Magento GitHub:
"Nenhum item" no minicart no 2.1 (aberto até o momento em que este documento foi escrito)
Minicart vazio se o FPC estiver desabilitado no Magento 2.1.1 (aberto até o momento desta redação)
O Minicart não mostra nenhum produto, mesmo quando eu tenho produtos no carrinho (fechado)
Tanto quanto você pode tentar ...
Se isso estiver relacionado a cookies, você poderá descartar algumas possibilidades visitando seu site em um navegador de navegação privada / anônima. Passe pelo seu fluxo de trabalho (não está logado, adicione o produto ao carrinho, faça o login do cliente, veja / checkout / carrinho e menu suspenso de minicart).
Além disso, pode ser útil revisar os documentos de desenvolvimento M2 para obter práticas recomendadas em relação à configuração dos caches no desenvolvimento versus configuração na produção . Na minha experiência, no desenvolvimento, não há problema em ter todos os caches ativados no desenvolvimento e simplesmente liberar quando necessário (leia os documentos para obter descrições de cada cache). Observe que, como um desenvolvedor principalmente de front-end, eu pessoalmente prefiro desenvolver com FPC, saída de blocos e caches de layout desabilitados - isso permite que as alterações de front-end sejam vistas com mais facilidade.
fonte