Во время работы с корзиной все данные, относящиеся к работе корзины, храняться в массиве $_SESSION[$session]. Рассмотрим подробнее структуру этого массива.
$session - это глобальная переменная, которая хранит идентификатор сессии. Она создается в момент первого запуска сниппета TSVshop. Чтобы в своем сниппете/плагине/модуле получить доступ к этой переменной, а соответственно, к массиву $_SESSION[$session], нужен этот минимальный код:
global $session; include (MODX_BASE_PATH."/assets/snippets/tsvshop/include/cart.inc.php");
и далее у вас появится доступ к содержимому массива $_SESSION[$session].
$_SESSION[$session]['orders'] - хранит в виде массива данные о товарах, находящихся в корзине.
$_SESSION[$session]['result'] - хранит в виде массива данные о заказе, напр., скидки, сумма заказа, данные о заказчике и т.д.
Данные поступают в массив по мере совершения действий с корзиной. Поэтому в разный момент времени в данном массиве могут быть не все данные. Например, массив $_SESSION[$session]['result'] не будет содержать данные о сумме заказа до тех пор, пока пользователь хотя бы один раз не перейдет на страницу корзины (в тот момен произойдет пересчет всех данных и массив $_SESSION[$session]['result'] дополнится данными о стоимости заказа, скидках, стоимости доставки и т.д.). То же самое касается данных пользователя, которые станут доступными в массиве $_SESSION[$session]['result'] только после того, как пользователь заполнит форму оформления заказа и подтвердит заказ.
Массив $_SESSION['tsvshopfin'] - это полная копия массива $_SESSION[$session], но создаваемая после окончательно сформированного заказа. Он предназначен для того, чтобы хранить все данные о последнем сделанном заказе в течении одной сессии. Используется в модуле TSVshop для вывода данных о сделанном заказе на странице "Завершение заказа" (или "Спасибо за заказ" - кому как больше нравится). В тот момент массивы $_SESSION[$session]['orders'] и $_SESSION[$session]['result'] полностью уничтожаются, корзина очищается, а все данные уже перенесены в массив $_SESSION['tsvshopfin']. Очень удобно пользоваться этим массивом, если нужно сделать какие-то действия с заказом уже после очистки корзины.
Чтобы посмотреть структуру вышеописанных массивов, вы можете просто распечатать их с помощью функции print_r().
Форум
Получите помощь в решении возникших трудностей или поделитесь своим опытом в работе с TSVshop.
Помощь проекту
Вы можете оказать посильную материальную помощь проекту, пожертвовав некоторую сумму.
Подпишитесь с помощью этой формы на наши новости, и вы сможете на свой электронный адрес получать самую свежую информацию о модуле TSVshop и узнавать о выходе новых версий.
Здравствуйте, я Андрей Корнелевский , хочу выразить администраторам , авторам и руководителям сайта благодарность ! За хороший сайт и продукцию , моя компания пользуется услугами вашего сайта.