为了让我获得Prestashop用户的购物车,我首先需要知道用户在我的外部CodeIgniter应用程序中的用户。
我尝试了以下各种尝试:http://www.prestashop.com/forums/topic/204227-webservice-and-check-if-user-is-logged-in/和http://www.prestashop.com/forums/topic/156218-solvedish-integrating-prestashop-into-a-pre-developed-website/甚至Prestashop: Session cookies & login和http://webilyst.com/prestashop-cookie-structure/
但是我无法让它发挥作用。出于某种原因,当我包含config.inc.php时,它会重定向到商店 - 而不是让我获得所需的ID。
我的问题:如何在外部应用程序中从PrestaShop获取当前用户ID?
修改1 我正在使用CI 2.1.4和PrestaShop 1.5.6.x。
编辑2 似乎我读过的文章是针对旧版PS的。该代码实际上达到了Shop正在初始化的程度,一旦完成,在Shop.php中,用户被重定向到商店。我不希望这种情况发生 - 我只是想知道当前登录用户是谁。
答案 0 :(得分:2)
您可以使用以下代码获取当前客户ID:
include($prestashopBasePath . '/config/config.inc.php');
$context = Context::getContext();
$customerId = $context->customer->id;
您被重定向的原因是您从与后台定义的商店网址不同的网址执行脚本 - >偏好 - >设置商店网址。例如,商店URL是example.com/presta,您的脚本位于example.com/other/script.php中。
解决方案是将脚本移动到PrestaShop目录。