Jump to content

Recommended Posts

Кто знает где хранятся товары в wishlist и в корзине? если в сессиях, то как установить время хранения товаров в wishlist 1 месяц, а в корзине 3 дня? и как посмотреть записанные значения в сессии?

Помогите пожалуйста.

Share this post


Link to post
Share on other sites

При использовании сессий в PHP по умолчанию идентификатор сесии сохраняется в "куках" или "кукисах" - небольших блоков информации, которые хранятся на стороне клиента и имеет заданное время жизни. (в PHP куки доступны при помощи глобального массива $_COOKIES). Название идентификатора сессии - "PHPSESSID", но его можно изменить при помощи параметра session.name в файле php.ini.

 
Время жизни куки, которая хранит идентификатор сесии по умолчанию составляет 0 сек, т.е.сука кука хранится до того момента, как браузер будет закрыт. Это можно изменить при помощи параметра session.cookie_lifetime в файле php.ini.
 
PHP, как правило, хранит данные сессии в файлах. Для того, чтобы не засорять файловую систему периодически осуществляется очистка устаревших данных, garbage collection - уборка мусора. В файле php.ini существует параметр session.gc_maxlifetime который указывает время в секундах, по истечению которого все устаревшие данные будут удалены из файловой системы.
 
Допустим, мы хотим задать время жизни сесии - 3 часа. Для этого в файле php.ini устанавливаем следующие параметры:
session.gc_maxlifetime = 10800

session.cookie_lifetime = 10800

Если у вас нет возможности внести изменения в файл php.ini, то можно сделать установку этих параметров при помощи файла .htaccess. Для этого вносим в него следующие строки:
php_value session.gc_maxlifetime 10800

php_value session.cookie_lifetime 10800

Если ваш хостер запрещает вам использовать директиву php_value в файле .htaccess или использовать .htaccess в целом - то пора менять хостера.
 
Кроме того, вы можете установить время жизни сессионной куки из PHP при помощи функции session_set_cookie_params. К примеру:
<?php

session_set_cookie_params(10800);

?>

При этом нужно учитывать, что функциция set_cookie_params должна быть вызвана до того, как сессия будет открыта при помощи session_start. Функция set_cookie_params также позволяет установить путь, домен, настройки безопасности для сессионной куки.
 

 

 

Это матчасть.

 

По поводу второго вопроса, как задать время жизни тем или иным параметрам. Все просто но замороченно. Добавляете сеттерам ключ time-stamp по событию и сохраняете его вместе с данными о товарах в ту же сессию. Ну и геттерам соответственно проверку по времени. А где вы этот ключи будете хранить, в базе или в сессии - все равно.

Share this post


Link to post
Share on other sites

Это матчасть.

 

По поводу второго вопроса, как задать время жизни тем или иным параметрам. Все просто но замороченно. Добавляете сеттерам ключ time-stamp по событию и сохраняете его вместе с данными о товарах в ту же сессию. Ну и геттерам соответственно проверку по времени. А где вы этот ключи будете хранить, в базе или в сессии - все равно.

 

Все что выше мне понятно, а вот про time-stamp не совсем...

Ну вот пишем мы в $this->session->data['wishlist'] массив с product_id - куда нужно дописать, что data['wishlist'] - будет храниться 84600 сек (24 часа)

И аналогично для корзины, только корзину хранить например 172800 сек (48 часов)

  • +1 1

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.


  • Similar Content

    • By matroskin92
      590.00 руб
      Скачать/Купить дополнение


      Экспорт корзины/заказов в Excel
      В административной панели сайта - экспорт выбранных заказов в один файл .XLSX
      Экспорт корзины клиента (в любом месте шаблона), а так же экспорт заказа из личного кабинета интернет-магазина.
      Подойдет для генерирования коммерческого предложения.
       
      Модуль не зависит от используемого шаблона и работает со всеми популярными модулями оформления заказа. 
       
      УСТАНОВКА
      Установите библиотеку PHPExcel как обычный модуль Установите модуль для Вашей версии Opencart Активируйте в списке модулей и произведите необходимую настройку модуля. Добавьте вывод модуля в нужный в макет корзины, либо в макет отображения заказа в личном кабинете. Обновите кэш модификаторов По результатам работы модуля, пожалуйста, напишите отзыв.  
      ДЕМО
      OPENCART 3 / OCSTORE 3
      OPENCART 2.3 / OCSTORE 2.3
      Логин: demo
      Пароль: demo
       
      РАЗВИТИЕ МОДУЛЯ
      Если у вас есть идея, либо необходимость дополнительного функционала - смело пишите в личные сообщения. Если функционал покажется мне интересным, он будет добавлен в следующей версии модуля. Если модуль приобретается с дополнительными опциями - новые функции появляются значительно быстрее (больше кофе - меньше сна! Заряди разработчика по полной).
       
      ПОДДЕРЖКА
      Поддержка в личных сообщениях и в комментариях в соответствующей теме на форуме. 
      Если у Вас не получилось установить модуль, либо он работает не корректно, пожалуйста, прежде чем оставить отзыв модулю - напишите в личные сообщения, отвечаю оперативно.
       
      ОСТАЛИСЬ ВОПРОСЫ?
      Напишите в личные сообщения.
      Добавил matroskin92 Добавлено 07.03.2019 Категория Покупки, оформление заказа, корзина Системные требования Сайт разработчика matro.site Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3 OpenCart.Pro, ocShop Opencart.pro 2.3 Обращение к серверу разработчика Нет  
    • By matroskin92
      300.00 руб
      Скачать/Купить дополнение


      Простое оформление заказа
      Простое решение для реального упрощения оформления заказа, с настройкой которого разберется любой чайник. Модуль разделен на блоки, содержание (поля, методы) которых можно настроить индивидуально (например, для каждой группы доставки указать свои поля, а для самовывоза и вовсе их отключить). 
      При разработке модуля был использован опыт и требования к оформлению заказа интернет-магазинов с высокой конверсией продаж.
       
      ДЕМО
      Opencart / ocStore 2.3
      Opencart / ocStore 3.0
       
      Логин: demo
      Пароль: demo
       
      УСТАНОВКА
      Установите модуль через стандартный установщик Перейдите к настройкам модуля "Оформление заказа Custom" Осуществите первичную настройку модуля Обновите кэш модификаторов (Встроенный модификатор осуществляет переадресацию со стандартных страниц корзины и оформления заказа на настраиваемую.)  
      ЧТО ВНУТРИ
      Модуль имеет 8 основных блоков на одной странице
      Оформить как - (с регистрацией, без регистрации и авторизация) Корзина (с набором колонок, необходимых для отображения на странице) Личные данные (настройка полей для каждой группы пользователей) Доставка (поля, с отметкой для каких методов осуществлять отображение) Оплата (методы и группы пользователей для отображения) Поле комментария Модуле (таких как подарочные сертификаты, купоны) Итоговая таблица   
      Данное решение удовлетворит большинство магазинов, которым необходимо простое и быстрое оформление заказа, но нет желания устанавливать сложные модули. 
       
      ИЗМЕНЕНИЕ ОФОРМЛЕНИЯ
      Вы можете самостоятельно изменить оформление и изменить расположение блоков на свое усмотрение. Для сохранения работоспособности модуля сохраняйте уникальные идентификаторы (id) и названия полей и методов (name). В планах добавить в модуль различные темы оформления для быстрого старта.
       
      ПОДДЕРЖКА
      Поддержка осуществляется преимущественно в личных сообщениях, а так же по электронной почте support@matro.site
       
      Внимание, описание выше соответствует модулю версии 2.0. Если Вы покупали модуль ранее - Вы можете бесплатно обновиться до актуальной версии.
      Добавил matroskin92 Добавлено 22.01.2019 Категория Покупки, оформление заказа, корзина Системные требования Сайт разработчика https://matrosite.ru/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • By matroskin92
      В административной панели сайта - экспорт выбранных заказов в один файл .XLSX
      Экспорт корзины клиента (в любом месте шаблона), а так же экспорт заказа из личного кабинета интернет-магазина.
      Подойдет для генерирования коммерческого предложения.
       
      Модуль не зависит от используемого шаблона и работает со всеми популярными модулями оформления заказа. 
       
      УСТАНОВКА
      Установите библиотеку PHPExcel как обычный модуль Установите модуль для Вашей версии Opencart Активируйте в списке модулей и произведите необходимую настройку модуля. Добавьте вывод модуля в нужный в макет корзины, либо в макет отображения заказа в личном кабинете. Обновите кэш модификаторов По результатам работы модуля, пожалуйста, напишите отзыв.  
      ДЕМО
      OPENCART 3 / OCSTORE 3
      OPENCART 2.3 / OCSTORE 2.3
      Логин: demo
      Пароль: demo
       
      РАЗВИТИЕ МОДУЛЯ
      Если у вас есть идея, либо необходимость дополнительного функционала - смело пишите в личные сообщения. Если функционал покажется мне интересным, он будет добавлен в следующей версии модуля. Если модуль приобретается с дополнительными опциями - новые функции появляются значительно быстрее (больше кофе - меньше сна! Заряди разработчика по полной).
       
      ПОДДЕРЖКА
      Поддержка в личных сообщениях и в комментариях в соответствующей теме на форуме. 
      Если у Вас не получилось установить модуль, либо он работает не корректно, пожалуйста, прежде чем оставить отзыв модулю - напишите в личные сообщения, отвечаю оперативно.
       
      ОСТАЛИСЬ ВОПРОСЫ?
      Напишите в личные сообщения.
    • By AlexV8
      Здравтвуйте! Хотел узнать, есть ли  где нибудь отдельный модуль всплывающей корзины как в шаблоне ЛАЙТШОП?
    • By matroskin92
      Простое решение для реального упрощения оформления заказа, с настройкой которого разберется любой чайник. Модуль разделен на блоки, содержание (поля, методы) которых можно настроить индивидуально (например, для каждой группы доставки указать свои поля, а для самовывоза и вовсе их отключить). 
      При разработке модуля был использован опыт и требования к оформлению заказа интернет-магазинов с высокой конверсией продаж.
       
      ДЕМО
      Opencart / ocStore 2.3
      Opencart / ocStore 3.0
       
      Логин: demo
      Пароль: demo
       
      УСТАНОВКА
      Установите модуль через стандартный установщик Перейдите к настройкам модуля "Оформление заказа Custom" Осуществите первичную настройку модуля Обновите кэш модификаторов (Встроенный модификатор осуществляет переадресацию со стандартных страниц корзины и оформления заказа на настраиваемую.)  
      ЧТО ВНУТРИ
      Модуль имеет 8 основных блоков на одной странице
      Оформить как - (с регистрацией, без регистрации и авторизация) Корзина (с набором колонок, необходимых для отображения на странице) Личные данные (настройка полей для каждой группы пользователей) Доставка (поля, с отметкой для каких методов осуществлять отображение) Оплата (методы и группы пользователей для отображения) Поле комментария Модуле (таких как подарочные сертификаты, купоны) Итоговая таблица   
      Данное решение удовлетворит большинство магазинов, которым необходимо простое и быстрое оформление заказа, но нет желания устанавливать сложные модули. 
       
      ИЗМЕНЕНИЕ ОФОРМЛЕНИЯ
      Вы можете самостоятельно изменить оформление и изменить расположение блоков на свое усмотрение. Для сохранения работоспособности модуля сохраняйте уникальные идентификаторы (id) и названия полей и методов (name). В планах добавить в модуль различные темы оформления для быстрого старта.
       
      ПОДДЕРЖКА
      Поддержка осуществляется преимущественно в личных сообщениях, а так же по электронной почте support@matro.site
       
      Внимание, описание выше соответствует модулю версии 2.0. Если Вы покупали модуль ранее - Вы можете бесплатно обновиться до актуальной версии.
  • 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.