1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

VM 2.x Как можно исключить из кеша участок кода?

Тема в разделе "Virtuemart", создана пользователем silmarion, 27 фев 2014.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
  1. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Добрый день, j2.5 vm2

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

    Все сделал, работает как нужно. Но, проблема в том, что при включенном кешировании если администратор просмотрит страницу, на которой есть информация, она загоняется в кеш, и далее любой пользователь видит эту информацию.

    Каким образом можно исключить из кеша кусок php кода, который отвечает за вывод информации?

    файл находится шаблон/html/category/default.php

    Код:
    $document = JFactory::getDocument();
    $document->addScriptDeclaration($js);
    $user =& JFactory::getUser( 'admin' );
    if ($user->id == 42) { ?>
    <h2><?php echo $this->category->naznach; ?></h2>
          <?} else {  }
    Можно ли вытащить этот участок кода из кеша?
     
  2. IVS

    IVS

    Регистр.:
    24 дек 2013
    Сообщения:
    236
    Симпатии:
    156
    Не знаю как участок кода....
    Может стоит попробовать JotCache !?
    Тут и про участок кода есть для JotCache:
     
    lubo777 и silmarion нравится это.
  3. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Спасибо, вроде подошло, правда подработать пришлось.

    А есть ли варианты со стандартным кешем?

    Может тег какой типа <nocache>...</nocache>?
     
    Последнее редактирование: 28 фев 2014
  4. artefakt777

    artefakt777

    Регистр.:
    15 июл 2012
    Сообщения:
    455
    Симпатии:
    119
    Можно всю страницу отключить от кэширования:
    Код:
    <?php
      header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
      header("Last-Modified: ". gmdate("D, d M Y H:i:s")." GMT");
      header("Cache-Control: no-cache, must-revalidate");
      header("Cache-Control: post-check=0,pre-check=0",false);
      header("Cache-Control: max-age=0",false);
      header("Pragma: no-cache");?>
    
     
    lubo777 нравится это.
  5. lubo777

    lubo777 Постоялец

    Регистр.:
    22 июн 2011
    Сообщения:
    80
    Симпатии:
    51
    Ето PHP код отключает страницу от кэширования в Joomla Site/Global configuration/System/Cache + Plugins/System - Cache или он имеет значения только для Browser Cache?

    P.S. JotCache решило мои проблеми с Joomla Cache & VirtueMart Cart, но если есть решение для Joomla System - Cache это было бы супер.
     
    Последнее редактирование: 1 мар 2014
  6. prayer

    prayer Постоялец

    Регистр.:
    12 авг 2011
    Сообщения:
    71
    Симпатии:
    11
    Использую связку Joomla 2.5.27+Virtuemart 2.6.12. Установил и настроил Jotcache 4.2.3. Все работает нормально кроме компонента Magic Zoom Plus v4.5.16. После кеширования странички товара, фото отображаются стандартными средствами вирта. Пробовал размещать Magic Zoom в позицию в шаблоне banner1 и запрещать ее к индексации одним из 3х способов
    Код:
    1) <!-- jot banner1 s style="art-nostyle" -->
    <jdoc:include type="modules" name="banner1" style="<?php echo $this->module_styles['banner1']; ?>" />
    <!-- jot banner1 e -->
    
    2) <jot banner1 s style="art-nostyle" ><?php echo $view->position('banner1', 'art-nostyle'); ?><jot banner1 e >
    
    3) <jot banner1 s style="art-nostyle" ><jdoc:include type="modules" name="banner1" style="art-nostyle" /><jot banner1 e > 
    . Код я прописывал в файл index.php своего шаблона.
    Подскажите где ошибка в коде или возможно нужно прописать где-то еще?
     
    Последнее редактирование: 5 дек 2014
  7. Panadina

    Panadina Постоялец

    Регистр.:
    25 апр 2013
    Сообщения:
    81
    Симпатии:
    54
    Тоже использую Jotcache, но такой проблемы не наблюдаю. Попробуйте установить самую свежую версию Magic Zoom Plus. У меня была проблема c Magic Zoom Plus, но другого характера. Модуль вывода просмотренных товаров и модуль Magic Zoom Plus сливались в одно целое, в карточке товара, ломая при этом весь шаблон страницы. Причем, это происходило если модуль вывода просмотренных товаров выводился в шаблоне в позицию "left", если в позицию "right", то было все отлично. Решение проблемы на форумах так и не нашел, списал все на кривобокость шаблона. Отключил модуль вывода просмотренных товаров и забыл об этой проблеме на полгода. Но месяц назад, обновив Virtuemart до версии 2.6.6, решил попробовать снова этот модуль, в результате такая же картина. И только после того как установил самую свежую версию Magic Zoom Plus проблема ушла....
     
  8. prayer

    prayer Постоялец

    Регистр.:
    12 авг 2011
    Сообщения:
    71
    Симпатии:
    11
    Обновил версию Magic Zoom Plus до последней 4.5.39. Но проблема никуда не делась. Расскажите возможно вы как то исключали его из кеша, или настраивали Jotcache. Потому что я не могу понять где у меня проблема.
     
    Panadina нравится это.
  9. Panadina

    Panadina Постоялец

    Регистр.:
    25 апр 2013
    Сообщения:
    81
    Симпатии:
    54
    Прошу прощения, но как говорят:- слона то я и не заметил.... Действительно существует данная проблема. Просто решив проблему с Cherry Picker, который тоже не любит кеширование, я не заметил проблемы с Magic Zoom Plus. Благодаря вашему посту я узнал о существующей проблеме и оперативно ее решил.

    Вот решение: В настройках компонента Jotcache=>URL Exclude=>установить чек бокс напротив virtuemart=> com_virtuemart и в поле напротив ввести productdetails, потом Apply и CLOSE. Не забудьте очистить кеш страниц в самом компоненте, перед проверкой.
    Это временный вариант, возможно позднее что нибудь придумаю получше.
    Есть неплохой плагин: http://extensions.joomla.org/extensions/core-enhancements/performance/cache/17783 может он поможет устранить данную проблему. По результатам сразу отпишу.
    Да и еще по Jotcache замечание, не помню точно с какой версии, но инструкции jot в ручном методе исключения из кеша не работают, то -есть более уже не поддерживаются.
     
  10. prayer

    prayer Постоялец

    Регистр.:
    12 авг 2011
    Сообщения:
    71
    Симпатии:
    11
    Я так понимаю этот вариант запрещает кешировать странички товара. Все бы хорошо, но у меня включен SEO виртуемарта и такой вариант не работает. В ссылках не встречается productdetails.
     
    Последнее редактирование: 8 дек 2014