Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Счетчик товаров в корзине хедера и кэши


Recommended Posts

Opencart 3.0.3.6. Подскажите, может кто уже делал. После добавления товара, в корзине (та, что в хедере) срабатывает счетчик товаров, все нормально. Но если вернуться "назад" (кнопкой браузера), то количество товаров в счетчике будет без последних добавленных, пока не перезагрузишь страницу.

Знаю про решение с отключением кэшей в session.php и startup.php, но есть ли какой-то другой способ?

Змінено користувачем Andrej1986
Надіслати
Поділитися на інших сайтах


50 минут назад, Andrej1986 сказал:

Например, для обычных покупателей - это баг

Это вы так решили?

Надіслати
Поділитися на інших сайтах

55 минут назад, Andrej1986 сказал:

Просто интересуют альтернативные способы решения данного бага/фичи. Например, для обычных покупателей - это баг

В чем баг то заключается? Вы возвращаетесь на страницу ранее уже загруженную. 

Надіслати
Поділитися на інших сайтах

58 минут назад, Andrej1986 сказал:

Просто интересуют альтернативные способы решения данного бага/фичи. Например, для обычных покупателей - это баг

Тех покупателей что браузер впервые видят?

Надіслати
Поділитися на інших сайтах


Хорошо перефразирую: для некоторых покупателей. И да, действительно, многие люди не понимают, что переходят на "ранее загруженную страницу". 

По теме кто-то может что-то сказать? Или это превратится в выяснения "зачем оно нужно"?

 

Надіслати
Поділитися на інших сайтах


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

Я думаю вы в настройках хостинга кэшируете html в браузере.

Надіслати
Поділитися на інших сайтах

Вот нагуглил:

 

<file path="catalog/controller/startup/session.php">
  	<operation>
      	<search><![CDATA[setcookie($this->config->get('session_name')]]></search>
      		<add position="before"><![CDATA[
$this->response->addHeader('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
$this->response->addHeader('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->response->addHeader('Pragma: no-cache');
            ]]></add>
  	</operation>
</file>

 

в более поздних версиях 3-шки это все есть уже, исправили

 

P.S. Нет, это я 4-ку смотрел, там исправлено

  • +1 1
Надіслати
Поділитися на інших сайтах

если непонятно,
нужно в файле    catalog/controller/startup/session.php
перед строкой, начинающейся с

setcookie($this->config->get('session_name')

добавить это

$this->response->addHeader('Expires: Thu, 19 Nov 1981 08:52:00 GMT');
$this->response->addHeader('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
$this->response->addHeader('Pragma: no-cache');

 

  • +1 1
Надіслати
Поділитися на інших сайтах

вот оказывается чей это код))
Жаль что форум как-то плохо ищется поисковиками по темам, нашел вообще на хабре, как какой-то ответ на вопрос с отсылкой на наш форум, кстати, мол там все есть. А страниц форума в выдаче поисковика по этой теме вообще не выдало.

Надіслати
Поділитися на інших сайтах

Спасибо всем за ответы. Про данную модификацию session.php я знал) Интересно было, есть ли другие варианты решения и является ли данный оптимальным. Но если в 4ке данные изменения уже добавлены, то остановлюсь на этом решении

Надіслати
Поділитися на інших сайтах


  

3 минуты назад, Andrej1986 сказал:

Про данную модификацию session.php я знал)

посмотрите ту тему, автообновление корзины, там и в startup тоже это же добавляется.

Надіслати
Поділитися на інших сайтах

2 минуты назад, Prooksius сказал:

  

посмотрите ту тему, автообновление корзины, там и в startup тоже это же добавляется.

Да) Я в первом посте написал про модификацию session.php и startup.php

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.