Перейти к содержанию
Форум поддержки пользователей VamShop

Не отображаются новые отзывы при включенном кеше.


Рекомендуемые сообщения

Здравствуйте!

Обратил внимание, что при включенном кеше, новые отзывы не отображаются на карточке товара и на странице "Все отзывы" (reviews.php).

Только после очистки кеша через админку, отзывы появляются.

В чем может быть причина?

Настройки в админке:

Использовать кэш - true

Проверять изменения кэша - true

Кэширование запросов к БД - true

Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Наверное закэшировались страницы без отзывов, если почистить кэш, появляются же?

Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте!

Наверное закэшировались страницы без отзывов, если почистить кэш, появляются же?

Да появляются. Как сделать так, чтобы при добавлении нового отзыва он отображался без очистки кеша?

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте в /includes/classes/product.php поменять:


$reviews_query = vamDBquery("select
r.reviews_rating,
r.reviews_id,
r.customers_name,
r.date_added,
r.last_modified,
r.reviews_read,
rd.reviews_text
from ".TABLE_REVIEWS." r,
".TABLE_REVIEWS_DESCRIPTION." rd
where r.products_id = '".$this->pID."'
and r.reviews_id=rd.reviews_id
and rd.languages_id = '".$_SESSION['languages_id']."'
order by reviews_id DESC");
if (vam_db_num_rows($reviews_query, true)) {
$row = 0;
$data_reviews = array ();
while ($reviews = vam_db_fetch_array($reviews_query, true)) {
[/code] на:
[code]
$reviews_query = vam_db_query("select
r.reviews_rating,
r.reviews_id,
r.customers_name,
r.date_added,
r.last_modified,
r.reviews_read,
rd.reviews_text
from ".TABLE_REVIEWS." r,
".TABLE_REVIEWS_DESCRIPTION." rd
where r.products_id = '".$this->pID."'
and r.reviews_id=rd.reviews_id
and rd.languages_id = '".$_SESSION['languages_id']."'
order by reviews_id DESC");
if (vam_db_num_rows($reviews_query)) {
$row = 0;
$data_reviews = array ();
while ($reviews = vam_db_fetch_array($reviews_query)) {

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте в /includes/classes/product.php поменять:


$reviews_query = vamDBquery("select
r.reviews_rating,
r.reviews_id,
r.customers_name,
r.date_added,
r.last_modified,
r.reviews_read,
rd.reviews_text
from ".TABLE_REVIEWS." r,
".TABLE_REVIEWS_DESCRIPTION." rd
where r.products_id = '".$this->pID."'
and r.reviews_id=rd.reviews_id
and rd.languages_id = '".$_SESSION['languages_id']."'
order by reviews_id DESC");
if (vam_db_num_rows($reviews_query, true)) {
$row = 0;
$data_reviews = array ();
while ($reviews = vam_db_fetch_array($reviews_query, true)) {
[/code] на:
[code]
$reviews_query = vam_db_query("select
r.reviews_rating,
r.reviews_id,
r.customers_name,
r.date_added,
r.last_modified,
r.reviews_read,
rd.reviews_text
from ".TABLE_REVIEWS." r,
".TABLE_REVIEWS_DESCRIPTION." rd
where r.products_id = '".$this->pID."'
and r.reviews_id=rd.reviews_id
and rd.languages_id = '".$_SESSION['languages_id']."'
order by reviews_id DESC");
if (vam_db_num_rows($reviews_query)) {
$row = 0;
$data_reviews = array ();
while ($reviews = vam_db_fetch_array($reviews_query)) {

Работает, кроме страницы товара. На странице товара новый отзыв не отображается.

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте тогда ещё чуть выше поменять:



$reviews_query = vamDBquery("select count(*) as total from ".TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd where r.products_id = '".$this->pID."' and r.reviews_id = rd.reviews_id and rd.languages_id = '".$_SESSION['languages_id']."' and rd.reviews_text !=''");
$reviews = vam_db_fetch_array($reviews_query, true);[/code] на:
[code]
$reviews_query = vam_db_query("select count(*) as total from ".TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd where r.products_id = '".$this->pID."' and r.reviews_id = rd.reviews_id and rd.languages_id = '".$_SESSION['languages_id']."' and rd.reviews_text !=''");
$reviews = vam_db_fetch_array($reviews_query);

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте тогда ещё чуть выше поменять:



$reviews_query = vamDBquery("select count(*) as total from ".TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd where r.products_id = '".$this->pID."' and r.reviews_id = rd.reviews_id and rd.languages_id = '".$_SESSION['languages_id']."' and rd.reviews_text !=''");
$reviews = vam_db_fetch_array($reviews_query, true);[/code] на:
[code]
$reviews_query = vam_db_query("select count(*) as total from ".TABLE_REVIEWS." r, ".TABLE_REVIEWS_DESCRIPTION." rd where r.products_id = '".$this->pID."' and r.reviews_id = rd.reviews_id and rd.languages_id = '".$_SESSION['languages_id']."' and rd.reviews_text !=''");
$reviews = vam_db_fetch_array($reviews_query);

Нет, не помогает.

Ссылка на сообщение
Поделиться на другие сайты

Ну за этот модуль точно отвечает /includes/modules/product_reviews.php

Попробуйте например закомментировать:


if ($product->getReviewsCount() > 0) {
[/code] и внизу:
[code]
}

Ссылка на сообщение
Поделиться на другие сайты
  • 2 years later...

У меня такая же фигня. ПРи включенном кеше отзывы к товарам не выводятся. Оставляю отзыв, он виден в админке а пользователь видит закешированнную страницу без отзыва - внимание вопрос )) как сделать так, чтоб при добавлении отзыва, конкретная страница обновлялась в кеше. То есть, чтоб при нажатии на добавление отзыва, закешированная страница (без отзыва) заменялась страницей с отзывом? Вышепредставленный код пробовал делать, но ниче не помогло. Нид хелп!

Ссылка на сообщение
Поделиться на другие сайты

А Вы точно указанный файл правите?!

А то там есть вроде prdocuts_reviews.php и product_reviews.php файлы.

Вы могли бы точнее указать, актуализировать, что именно править и на что ? а то я немного запутался.

Ссылка на сообщение
Поделиться на другие сайты

Для начала попробуйте вот эти файлы:

/includes/classes/product.php

/includes/modules/product_reviews.php

 

С ними тоже отзывы не выводятся?!

product.php

product_reviews.php

Ссылка на сообщение
Поделиться на другие сайты

Посмотрел сейчас правки в текущем коде, вот ещё к вышевыложенным файлам возьмите /includes/modules/product_info.php

Заработает вывод отзывов с кэшем.

product_info.php

Ссылка на сообщение
Поделиться на другие сайты

Посмотрел сейчас правки в текущем коде, вот ещё к вышевыложенным файлам возьмите /includes/modules/product_info.php

Заработает вывод отзывов с кэшем.

 

Спасибо, теперь все работает и все понятно!

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...