Сброс сессии и cookie гостя (demomarket)

Материал из Umicms
Версия от 07:14, 28 сентября 2018; Xakep2003 (обсуждение | вклад) (Xakep2003 переименовал страницу Создать статью в этой Категории в Сброс сессии и cookie гостя (demomarket) без оставления перенаправления)
Перейти к:навигация, поиск

Актуально для версии 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');


Теперь, после завершения оформления заказа, у незарегистрированных пользователей будут обновляться данные.