Сброс сессии и cookie гостя (demomarket)
Материал из Umicms
Версия от 07:13, 28 сентября 2018; Xakep2003 (обсуждение | вклад) (Новая страница: «'''Актуально для версии 18''' '''Задача:''' Реализовать сброс cookie и сессии после оформления за…»)
Актуально для версии 18
Задача: Реализовать сброс cookie и сессии после оформления заказа незарегистрированным пользователем.
Внедрение для PHP (на примере интернет-магазина "Адаптивный" [demomarket]).
1) Добавим код макроса в classes/components/custom.php
public function destroy() {
$permissions = permissionsCollection::getInstance();
$userId = $permissions->getUserId();
$guestId = $permissions->getGuestId();
if ($userId == $guestId)
{
session_start();
session_destroy();
$_SESSION = array();
$_COOKIE["customer-id"] = '';
return;
}
}
2) Добавим вызов макроса в шаблон. Например, на страницу с сообщением об успешном оформлении заказа templates/demomarket/php/emarket/result/successful.phtml
$this->macros('custom', 'destroy');
Теперь, после завершения оформления заказа, у незарегистрированных пользователей будут обновляться данные.