Когда я обновился до EE 1.14.2, большинство вещей прошло гладко, но я столкнулся с проблемой, когда начал проверять свои различные страницы веб-интерфейса. У меня есть узел каталога с несколькими подкатегориями, и у каждой из них есть разные статические блоки. После обновления, какая бы страница ни была открыта первой после сброса кэша, она будет отображаться на всех страницах.
Я не знаю, будет ли эта проблема присутствовать при выпуске CE 1.9.2, но я хотел бы разместить здесь свое решение для тех, кто может найти эту же проблему.
ОБНОВЛЕНИЕ: как подтверждено здесь та же самая проблема возникла в CE 1.9.2
Ответы:
Так как это была EE, я смог использовать поддержку Magento, но я также решил все самостоятельно, чтобы помочь решить проблему и найти решение как можно быстрее. Изменения кода были предоставлены Magento, поэтому применять их к фактическим файлам app / code / core - это хорошо, хотя вы всегда можете скопировать файлы в вашем / app / code / local и применить изменения там.
Проблема заключалась в том, что метод блочного кэширования, который был добавлен в 1.14.2, не генерировал уникальный ключ кэша, поэтому, когда у меня было несколько блоков, используемых в пространстве контроллера категории, сгенерированный ключ кэша оказался уникальным только для первого попадания страницы, в результате на всех этих страницах отображается дублированный контент.
Исправление состояло в том, чтобы добавить следующее (отображается в формате файла diff, чтобы показать контекст, окружающий дополнения - просто добавьте строки с +, куда они должны идти):
В app / code / core / Mage / Cms / Block / Block.php в строке 72:
В app / code / core / Mage / Cms / Block / Widget / Block.php в строке 82:
Я не думаю, что буду единственным, кто увидит эту проблему, и если она появится в CE 1.9.2, надеюсь, это поможет решить некоторые проблемы.
источник
Я думаю, что правильно нам нужно создать пользовательский модуль, потому что вы все знаете, что Magento Boogieman получит вас! если сменить ядро :)
Вам понадобятся следующие файлы:
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
Для получения дополнительной информации вы можете посетить следующий блог, а также загрузить с него https://www.milople.com/blogs/ecommerce/solved-magento-static-block-display-issue.html
источник
Существует еще одна проблема с кэшированием блоков CMS, которая не устранена с помощью данного кода сверху.
Если вы используете защищенные URL-адреса и теги {{media}} в своих блоках CMS, вы получите сообщение «Предупреждение о небезопасном содержании» из браузера, поскольку Magento обслуживает небезопасные ссылки из кэша.
Чтобы решить эту проблему, вам нужно добавить еще один тэг
источник
Эту ошибку также можно исправить с помощью этого небольшого расширения (не нужно редактировать файлы ядра или перезаписывать блоки):
https://github.com/progammer-rkt/Rkt_SbCache
И он также содержит строку, упомянутую @AdvancedLogic, чтобы избежать небезопасного предупреждения о содержании:
(int)Mage::app()->getStore()->isCurrentlySecure()
источник