Magento 2 minicart, karşılama mesajı, diğer müşteri girişinden sonra sayfa önbelleği devre dışı çalışmıyor


16

İle Magento 2.0.4 önbellek, daha spesifik sayfa önbellek etkin , her şey işleri.

Devre dışı bırakırsam, çerezleri temizleyin ve miniart'taki ürünlerden daha fazla müşteri olarak giriş yapın .

Hoş geldiniz mesajı gerçekten düzgün çalışmıyor. Mini bölümü görmek için bir ürün sayfasından sepete bir ürün eklemeliyim. Kasaya gidersem, ülke adres özetinde (gönderim adresi hesabımda zaten eklenmiş) görüntülenmiyor.

Ben hata ayıklama yaptık ve sorun işaret ediyor gibi görünüyor: module-customer/view/frontend/web/js/customer-data.js. Çerez private_content_versionyerleştirilir module-page-cache/view/frontend/web/js/page-cache.jsve içinde kullanılır customer-data.js. Bkz. customerData::reloadFonksiyon.

Sayfa önbelleği devre dışıyken, işlevdeki gibi veriler sunucudan yüklenmez dataProvider::getFromServer().

Sayfa önbelleği devre dışı bırakıldığında çerez private_content_versionorada değildir (page-cache.js ders dışı yürütülmez). Ancak çerezde section_data_idsyalnızca '*' ve 'mesajlar' => boş (yanlış veya boş) vardır.

Sayfa önbelleği etkinleştirildiğinde vardır private_content_versionve section_data_idshangi tuşları değerleriyle vardır:

*:      null
cart:       123
compare-products:       123
customer:       123
directory-data:     123
last-ordered-items:     123
multiplewishlist:       123
review:     123
wishlist:       123

Sayfa önbelleği etkinken oturum açtıktan sonra, müşteri kontrol panelinde veri yükleyen 2 ek ajax isteği vardır:

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

Bunlar, tüm ülkeler ve bölgeler gibi müşteriye özel veriler ve dizin verileri içeren json nesneleri içerir. Bu çağrılarda, ödeme sırasında adres özeti ülke adını görüntüler. Bakınız: module-customer/view/frontend/web/js/sections-config.js ve module-checkout/view/frontend/web/js/view/shipping-address/address-renderer/default.js, işlevi getCountryName.

Bu bir Magento 2 hatası mı yoksa berbat ettiğim bir şey mi? Teşekkürler


Bunu düzelttiniz mi veya tam olarak neye sebep olduğunu bulabildiniz mi? Çok benzer bir sorunum var Magento ver. 2.0.1. Önbelleği GET http://example.com/customer/section/load/?sections=&update_section_id=false&_=1462374643065 500 (Internal Server Error)
temizlersem

1
Henüz bir çözüm bulamadık. Sizin durumunuzda daha basit bir durum olabilir. Hatanın ne olduğunu görün ve düzeltmeyi deneyin. Magento 2'deki hataları etkinleştirin ve bu belirli hatayı geçici olarak çözün. Hata almıyorum, sadece verileri yüklememesi. Benim durumumda hata görmedim.
karanlık

Aynı hatayla karşılaştım ve FPC etkin olduğu gibi bir magento2 hatası çalışacak ama devre dışı bıraktıktan sonra olmaz diyecekler. Geçici olarak düzeltmek için minicart'ı her sayfada programlı olarak yenilemeniz gerekir.
Salma Saiyad

Yanıtlar:


0

Belki de yeni M2 sürümlerinde çözülmüş olsa da, bu olağanüstü bir sorun gibi görünüyor. Magento GitHub sorunlarına bakın:

Ne kadar deneyebilirsiniz ...

Bu çerezle ilgili ise, sitenizi özel bir göz atma / gizli tarayıcıda ziyaret ederek bazı olasılıkları göz ardı edebilirsiniz. İş akışınızı gözden geçirin (giriş yapmadınız, sepete ürün ekleyin, müşteri giriş yapın, / checkout / cart ve miniart açılır menüsüne bakın).

Ek olarak, geliştirme sırasında önbelleklerin yapılandırılması ile üretimdeki yapılandırmaya ilişkin en iyi uygulamalar için M2 geliştirici belgelerinin gözden geçirilmesi faydalı olabilir . Deneyimlerime göre, geliştirme aşamasında, tüm önbellekleri geliştirme sırasında etkinleştirmek ve gerektiğinde yıkamak sorun değil (her önbelleğin açıklaması için belgeleri okuyun). Not, çoğunlukla ön uç geliştirici olarak, kişisel olarak FPC, Blok çıktısı ve düzen önbellekleri devre dışı bırakılmış olarak geliştirmeyi tercih ederim - bu, ön uç değişikliklerinin daha kolay görülmesini sağlar.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.