Я хотел бы помочь с основами для создания централизованного входа в систему (front office) для Prestashop – отдельной страницы входа в систему.
У меня есть установка Prestashop с несколькими магазинами (многопользовательская). Я пробовал API Webservices, но не нашел способ обработать логины и файлы cookie сеанса. Как мне это сделать?
Например: В моем Prestashop у меня есть три магазина с тремя разными URL-адресами, такими как:
A => mydomain.com/a B => mydomain.com/b C => mydomain.com/c
Когда клиент просматривает URL-адрес, mydomain.com (вверху домена) появится страница входа в систему.
Пользователь регистрируется и перенаправляется в магазин, где он зарегистрирован.
Поэтому, чтобы начать работу с моим проектом, я хотел бы узнать, как войти в систему через страницу за пределами Prestashop. Могу ли я загружать классы из PS и использовать их извне?
ОБНОВЛЕНИЕ 1: Я попытался извлечь данные cookie из mydomain.com/login/cookie.php:
include_once('../config/config.inc.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); $cookie = new Cookie('ps'); // Use "psAdmin" to read an employee's cookie if(!$cookie->isLogged()){ echo ("Please login"); exit; } else{ echo ("Logged in as: ".$cookie->customer_lastname." ".$cookie->customer_firstname); }
-include_once('../config/config.inc.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); $cookie = new Cookie('ps'); // Use "psAdmin" to read an employee's cookie if(!$cookie->isLogged()){ echo ("Please login"); exit; } else{ echo ("Logged in as: ".$cookie->customer_lastname." ".$cookie->customer_firstname); }
Eventough Я был вошел в систему в одном из моих магазинов (mydomain.com/b), код (mydomain.com/login/cookie.php) говорит, что я не вошел в систему. Что я делаю неправильно
ОБНОВЛЕНИЕ 2: Это работает, но только для первого магазина. Я не могу собирать данные из других магазинов в одной и той же группе магазинов.
include_once('../config/config.inc.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); $lastname=Context::getContext()->customer->lastname; if(!Context::getContext()->customer->isLogged()){ echo "Please login"; exit; } else{ echo "Logged in as".$lastname; exit; }
наinclude_once('../config/config.inc.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); $lastname=Context::getContext()->customer->lastname; if(!Context::getContext()->customer->isLogged()){ echo "Please login"; exit; } else{ echo "Logged in as".$lastname; exit; }
наinclude_once('../config/config.inc.php'); include_once('../config/settings.inc.php'); include_once('../classes/Cookie.php'); $lastname=Context::getContext()->customer->lastname; if(!Context::getContext()->customer->isLogged()){ echo "Please login"; exit; } else{ echo "Logged in as".$lastname; exit; }
пароль SALTED в prestashop config.ini.php, и у вас могут быть разные версии, которые кодируют cookie по-разному.