Kiedy uaktualniłem do EE 1.14.2, większość rzeczy poszło gładko, ale natknąłem się na problem, kiedy zacząłem sprawdzać różne strony frontendowe. Mam węzeł katalogu z kilkoma podkategoriami, a każda z nich ma inny blok statyczny. Po uaktualnieniu, która strona została trafiona jako pierwsza po opróżnieniu pamięci podręcznej, pojawiłaby się na wszystkich różnych stronach.
Nie wiem, czy ten sam problem będzie występował po wydaniu CE 1.9.2, ale chciałem tu umieścić moje rozwiązanie dla tych, którzy mogą znaleźć ten sam problem.
AKTUALIZACJA: Jak potwierdzono tutaj, ten sam problem pojawił się w CE 1.9.2
cache
static-block
ce-1.9.2.0
duplicate
ee-1.14.2.0
Mikrofon
źródło
źródło
Odpowiedzi:
Ponieważ była to EE, mogłem skorzystać ze wsparcia Magento, ale sam również opracowałem rozwiązania, aby pomóc w skupieniu się na problemie i jak najszybszym znalezieniu rozwiązania. Zmiany w kodzie zostały dostarczone przez Magento, więc zastosowanie ich do rzeczywistych plików aplikacji / kodu / rdzenia jest w porządku, chociaż zawsze można zduplikować pliki w / app / code / local i tam zastosować zmiany.
Problem polegał na tym, że metoda buforowania bloków dodana w 1.14.2 nie generowała unikatowego klucza pamięci podręcznej, więc gdy miałem wiele bloków używanych w obszarze kontrolera kategorii, wygenerowany klucz pamięci podręcznej okazał się unikalny tylko dla pierwszej strony, co powoduje, że wszystkie strony wyświetlają zduplikowane treści.
Rozwiązano problem polegający na dodaniu następujących elementów (wyświetlanych w formacie pliku różnicowego, aby pokazać kontekst otaczający dodatki - wystarczy dodać w wierszach +, gdzie powinny się znaleźć):
W app / code / core / Mage / Cms / Block / Block.php w linii 72:
W app / code / core / Mage / Cms / Block / Widget / Block.php w linii 82:
Nie sądzę, że jako jedyny widzę ten problem, a jeśli pojawi się w CE 1.9.2, mam nadzieję, że pomoże to rozwiązać niektóre osoby.
źródło
Myślę, że właściwym sposobem jest utworzenie niestandardowego modułu, ponieważ wszyscy wiecie, że Magento Boogieman cię dopadnie! jeśli zmień rdzeń :)
Konieczne będą następujące pliki:
app/etc/modules/Bhupendra_Cms.xml
app/code/local/Bhupendra/Cms/etc/config.xml
app/code/local/Bhupendra/Cms/Block/Block.php
app/code/local/Bhupendra/Cms/Block/Widget/Block.php
Aby uzyskać więcej informacji, odwiedź następujący blog, a także możesz go pobrać https://www.milople.com/blogs/ecommerce/solved-magento-static-block-display-issue.html
źródło
Jest jeszcze jeden problem z buforowaniem bloków CMS, który nie został rozwiązany przy danym kodzie z góry.
Jeśli korzystasz z bezpiecznych adresów URL i tagów {{media}} w swoich blokach CMS, otrzymasz od przeglądarki komunikat „Niebezpieczne ostrzeżenie o treści”, ponieważ Magento podaje niezabezpieczone linki z pamięci podręcznej.
Aby rozwiązać ten problem, musisz dodać jeszcze jeden znacznik informacji o pamięci podręcznej, as
źródło
Ten błąd można również naprawić za pomocą tego małego rozszerzenia (nie trzeba edytować podstawowych plików ani przepisywać bloków):
https://github.com/progammer-rkt/Rkt_SbCache
Zawiera także wiersz wspomniany przez @AdvancedLogic, aby uniknąć niebezpiecznego ostrzeżenia o treści:
(int)Mage::app()->getStore()->isCurrentlySecure()
źródło