2012-05-30 2 views
0

У нас есть исключение дизайна для мобильных устройств, которое загружает разные JS, макеты, CSS и файлы изображений.Исчерпывание полнотекстового кэша Magento и исключение дизайна

С выключенным FPC он отлично работает. Однако, когда он включен, каждый получает обычный сайт (без исключений).

Я предполагаю, что это связано с тем, что кешируется head.phtml.

Исключение head.phtml от FPC способ пойти сюда? Или что-то еще в игре?

Если это предварительный вариант, что это лучший способ сделать это? Создайте настраиваемый модуль с cache.xml и mimic cache.xml от Enterprise/PageCache?

Это Magento EE 1.11.

ответ

1

Если вы можете избежать этого, не обходите кеш для любых блоков. Это улучшит работу пользователя в ходе работы журнала. Однако есть несколько способов решить эту проблему.

О блоге here об отключении кеша на основе каждого контроллера. Вы могли бы использовать тот же метод на данный момент, за исключением другого условия «если».

Где я проверяю:

if ($action instanceof <controller_class_name>) { 

Вы можете так же легко использовать:

if ($user_is_mobile == true) { 

Действовать таким образом будет получить только мобильные пользователи, работающие в настоящее время. Действительно, ответ заключается не в том, чтобы отключить или обойти кеш, он должен использовать этот же метод для прослушивания запроса страницы и назначить разные макеты для мобильных и немобильных запросов. Каждый дескриптор макета затем будет кэшировать соответственно.

Посмотрите, как вы используете ручки в обновлениях макета. Из памяти это что-то вроде этого:

Mage::app()->getLayout()->getUpdate()->addHandle("mobile"); 

Затем в page.xml, добавить новый узел называется мобильным, что-то вроде этого

<mobile> 
    <reference name="root"> 
     <remove name="mainHead" /> 
     <block type="core/template" name="mobileHead" /> 
    </reference> 
</mobile> 

Или что-то вдоль этих линий. Это безумно непроверено, но я надеюсь, что вы получите эту идею.

В зависимости от разрешения экрана в противном случае вы можете использовать отзывчивый css.

+0

Спасибо, Майк. Отличный блог, кстати. Не следует исключать работу с FPC из box? Является ли это ошибкой в ​​1.11? 1.12, поставляется с темой iPhone, и она загружается нормально даже с FPC. – djdy

+0

Спасибо, товарищ! Если честно, я еще не работал с 1.12, и я не знаю, как это работает Я обязательно должен туда попасть и посмотрю! С FPC, если блок кэшируется, тогда все блоки в этом блоке кэшируются в результате. Это не идеально подходит для динамического контента (хотя то, что вы описываете на самом деле не является «динамическим»). Существует техника, называемая дырочкой, которую вы, возможно, слышали об этом, обходит это. –

1

Seem FPC работает с исключением дизайна в 1.11 только на уровне упаковки. Настройка исключения на уровне темы с помощью FPC не будет работать, к сожалению :( Вам удалось найти решение для этого вопроса?

+3

Да, я контактировал с поддержкой Magento, и у них уже был файл .patch. Хорошо работает. – djdy

Смежные вопросы