Чтобы обновить цену на товар нужно сбросить кэш?
Всем хорошего дня.
После загрузки прайсов немного меняются цены товаров, естественно, что после переоценки и до сброса кэша цены на сайте старые.
Вот так выводим цены в чанке:
Как то можно сделать {$price} некэшируемым?
Или нужно оборачивать в еще один чанк?
Кто как делает?
После загрузки прайсов немного меняются цены товаров, естественно, что после переоценки и до сброса кэша цены на сайте старые.
Вот так выводим цены в чанке:
<span class="price-product" itemprop="price"> {$price} </span><span class="price-product">руб.</span>
Как то можно сделать {$price} некэшируемым?
Или нужно оборачивать в еще один чанк?
Кто как делает?
Комментарии: 12
Хотел добавить:
Вроде как конструкция:
Вроде как конструкция:
[[!+price]]
должна помочь, но не работает. После загрузки прайсов
после грохнуть кеш…
Так и делаю, хотелось оптимизировать работу с кэшем.
Неужели все сбрасывают кэш при изменении цены на 1 товар?
Неужели все сбрасывают кэш при изменении цены на 1 товар?
Неужели все сбрасывают кэш при изменении цены на 1 товар?
возможные варианты:— грохать весь кеш
— грохать кеш конкретного обновляемого ресурса
Вариант с некешированным плейсхолдером на Fenom как нибудь можно реализовать?
Вариант с некешированным плейсхолдером на Fenom как нибудь можно реализовать?да вы смотрите как у вас вызван сам сниппет…
Все просто, только не снипет, а чанк.
Можно ли инлайн чанк сделать некешируемым?
{include 'msProduct_content'}
как я понимаю, самым подходящим решением будет: обернуть часть HTML в инлайн чанк?Можно ли инлайн чанк сделать некешируемым?
ну раз у вас нет сниппета, то тут данные берутся из кеша.
см коммент modx.pro/help/13074/#comment-85512
см коммент modx.pro/help/13074/#comment-85512
Ради эксперимента:
Пишу в отдельный кэш свой маленький снипет, который выводит цену:
Не работает вот это:
Пишу в отдельный кэш свой маленький снипет, который выводит цену:
{set $option=['xPDO::OPT_CACHE_KEY' => 'price']}
{if !$price = $_modx->cacheManager->get($_modx->resource.id,$option)}
{set $price = $_modx->runSnippet('GetPrice.1', ['tpl' => 'tpl.Price','showLog' => 0])}
{set $null = $_modx->cacheManager->set($_modx->resource.id, $price, 86400, $option)}
{/if}
{$price}
Все хорошо, но хочу чтобы он писался в отдельную директорию, чтобы после загрузки прайсов можно было почистить эту директорию ну или переформировать этот кэш после загрузки.Не работает вот это:
{set $option=['xPDO::OPT_CACHE_KEY' => 'price']}
на php выглядит вот так:$options = array( xPDO::OPT_CACHE_KEY => 'users_data',);
Просто ради интереса хочу реализовать на Fenom.
к чему такие сложности?
сделайте все в сниппете и просто его вызывайте.
сделайте все в сниппете и просто его вызывайте.
Хочется управлять кэшем, не более. =)
Как в синтаксисе fenom обратиться к
Все уже перепробовал, не получается.
Как в синтаксисе fenom обратиться к
xPDO::OPT_CACHE_KEY
?Все уже перепробовал, не получается.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.