Jump to content
boltov

Автообновление корзины

Recommended Posts

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

Share this post


Link to post
Share on other sites
20 минут назад, boltov сказал:

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

чем больше тем создадите тем выше вероятность ответа :)

шутка

Share this post


Link to post
Share on other sites
2 часа назад, boltov сказал:

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

Подобные вопросы лучше задавать в теме поддержки шаблона. Если код шаблона не ковыряли, то @m899 (разработчик) поможет.

Share this post


Link to post
Share on other sites

Здесь виноват не разработчик, а сама тройка,

в отличие от ранних версий, использующих файловое хранилище сессий, а точнее (session_start() ),  тройка использует хранение сессий в базе

 

session_start() - подключает заголовок

https://www.php.net/manual/ru/function.session-cache-limiter.php

 

А в тройке этого нет

 

Чтобы это избежать
нужно самостоятельно такие заголовки добавить в header
 

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

Как-то так

 

Если на стороне фронта кеширование еще как-то терпимо, то на стороне админки
Это чуть ли не обязательно

 

Share this post


Link to post
Share on other sites
15 минут назад, chukcha сказал:

Здесь виноват не разработчик, а сама тройка,

в отличие от ранних версий, использующих файловое хранилище сессий, а точнее (session_start() ),  тройка использует хранение сессий в базе

 

session_start() - подключает заголовок

https://www.php.net/manual/ru/function.session-cache-limiter.php

 

А в тройке этого нет

 

Чтобы это избежать
нужно самостоятельно такие заголовки добавить в header
 

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

Как-то так

 

Если на стороне фронта кеширование еще как-то терпимо, то на стороне админки
Это чуть ли не обязательно

 

Этот код я так понимаю можно просто закинуть в хедер?

Share this post


Link to post
Share on other sites
2 часа назад, boltov сказал:

Этот код я так понимаю можно просто закинуть в хедер?

может быть, а может быть и в  catalog/startup/startup.php

Share this post


Link to post
Share on other sites
В 04.06.2020 в 21:16, chukcha сказал:

может быть, а может быть и в  catalog/startup/startup.php

Спасибо. По крайней мере в хеадере работает.

Грамматическая ошибка $this->response

s должна быть вместо с

Share this post


Link to post
Share on other sites
<modification>
	<code>Add Header Cache-Control</code>
	<name>Add Header Cache-Control</name>
	<version>1.0</version>
	<author>Slasoft</author>

	<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>
	<file path="admin/controller/startup/startup.php">
        <operation>
            <search><![CDATA[index(]]></search>
            <add position="after"><![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>

</modification>

Вот код модификатора

Использовать на свой страх и риск

  • +1 1

Share this post


Link to post
Share on other sites
34 минуты назад, vilija сказал:

Спасибо. По крайней мере в хеадере работает.

Грамматическая ошибка $this->response

s должна быть вместо с

Я ж писал
 

 

В 04.06.2020 в 18:36, boltov сказал:

Как-то так

писал с лисат не проверяя, а эти букофки я всегда (часто) путаю

Кстати

Показанный модификатор более полезен для Админки

Share this post


Link to post
Share on other sites
3 часа назад, chukcha сказал:

Я ж писал
 

 

писал с лисат не проверяя, а эти букофки я всегда (часто) путаю

Кстати

Показанный модификатор более полезен для Админки

Это я не в укор ) . Другим просто чтоб меньше времени терять .

Вам однозначно респект!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.