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

silmarion

Полезный
Регистрация
21 Июн 2012
Сообщения
194
Реакции
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 {  }

Можно ли вытащить этот участок кода из кеша?
 
Не знаю как участок кода....
Может стоит попробовать Для просмотра ссылки Войди или Зарегистрируйся !?
Тут и про участок кода есть для JotCache:
Спасибо, вроде подошло, правда подработать пришлось.

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

Может тег какой типа <nocache>...</nocache>?
 
Последнее редактирование:
Можно всю страницу отключить от кэширования:
Код:
<?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");?>
 
Можно всю страницу отключить от кэширования:
Код:
<?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");?>

Ето PHP код отключает страницу от кэширования в Joomla Site/Global configuration/System/Cache + Plugins/System - Cache или он имеет значения только для Browser Cache?

P.S. JotCache решило мои проблеми с Joomla Cache & VirtueMart Cart, но если есть решение для Joomla System - Cache это было бы супер.
 
Последнее редактирование:
Использую связку 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 своего шаблона.
Подскажите где ошибка в коде или возможно нужно прописать где-то еще?
 
Последнее редактирование:
Использую связку Joomla 2.5.27+Virtuemart 2.6.12. Установил и настроил Jotcache 4.2.3. Все работает нормально кроме компонента Magic Zoom Plus v4.5.16. После кеширования странички товара, фото отображаются стандартными средствами вирта. Пробовал размещать Magic Zoom в позицию в шаблоне banner1 и запрещать ее к индексации одним из 3х способов

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

Вот решение: В настройках компонента Jotcache=>URL Exclude=>установить чек бокс напротив virtuemart=> com_virtuemart и в поле напротив ввести productdetails, потом Apply и CLOSE. Не забудьте очистить кеш страниц в самом компоненте, перед проверкой.
Это временный вариант, возможно позднее что нибудь придумаю получше.
Есть неплохой плагин:Для просмотра ссылки Войди или Зарегистрируйся
Да и еще по Jotcache замечание, не помню точно с какой версии, но инструкции jot в ручном методе исключения из кеша не работают, то -есть более уже не поддерживаются.
 
Вот решение: В настройках компонента Jotcache=>URL Exclude=>установить чек бокс напротив virtuemart=> com_virtuemart и в поле напротив ввести productdetails, потом Apply и CLOSE. Не забудьте очистить кеш страниц в самом компоненте, перед проверкой.
Это временный вариант, возможно позднее что нибудь придумаю получше.
Есть неплохой плагин:Для просмотра ссылки Войди или Зарегистрируйся
Да и еще по Jotcache замечание, не помню точно с какой версии, но инструкции jot в ручном методе исключения из кеша не работают, то -есть более уже не поддерживаются.
Я так понимаю этот вариант запрещает кешировать странички товара. Все бы хорошо, но у меня включен SEO виртуемарта и такой вариант не работает. В ссылках не встречается productdetails.
 
Последнее редактирование:
Назад
Сверху