如何从 Magento 外部访问 Magento 用户会话?

发布于 2024-07-27 13:09:20 字数 605 浏览 7 评论 0原文

我正在尝试访问我网站另一部分的 Magento 客户会话。

domain.com/shop/ <- Magento
domain.com/test.php

商店本身就像一个魅力,但是我试图在 test.php 中确定客户是否登录,这样我就可以显示他的名字以及他的购物车的链接。

到目前为止 test.php 的内容:

<?php
require_once dirname(__FILE__).'/shop/app/Mage.php';
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'frontend'));
var_dump(Mage::getSingleton('customer/session')->isLoggedIn());
?>

我不断返回 bool(false) 。 我已在 domain.com/shop/ 登录 Magento,因此预期为“true”。

我是不是忘记了什么?

Im trying to access the Magento customer session in another part of my website.

domain.com/shop/ <- Magento
domain.com/test.php

The shop itself works like a charm, however im trying to determine within test.php if a customer is logged in, so I can display his name with a link to his cart.

Contents of test.php so far:

<?php
require_once dirname(__FILE__).'/shop/app/Mage.php';
umask(0);
Mage::app('default');
Mage::getSingleton('core/session', array('name' => 'frontend'));
var_dump(Mage::getSingleton('customer/session')->isLoggedIn());
?>

I keep getting bool(false) returned. I'm logged into Magento at domain.com/shop/ so ‘true’ is expected.

Am I forgetting something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

今天小雨转甜 2024-08-03 13:09:20

我建议检查 Magento 设置的 cookie 的路径。 最有可能的是,它被设置为 /shop,因此您上面的文件将无法访问该 cookie。

您可以在控制面板中的 System -> 下修改 Magento 用于设置 cookie 的路径。 配置-> 网页(在“常规”标题下)-> 会话cookie管理

I would recommend checking the path of the cookie that Magento sets. Most likely, it is set to /shop, so the cookie will not be accessible to your file above it.

You can modify the path that Magento uses to set its cookie in the control panel under System -> Configuration -> Web (under the General heading) -> Session cookie management

还不是爱你 2024-08-03 13:09:20

它位于configuration->; Magento 版本上的 web 1.10.1.1

it is under confuguration-> web on Magento ver. 1.10.1.1

日久见人心 2024-08-03 13:09:20

同样的问题让我发疯。 我完成了以下工作,直到最后一项解决了它:

  • 是否设置了正确的法师商店ID(当前商店)?
  • 您是否使用与 Magento 相同的会话路径?
  • 您是否使用相同的(子)域来实现 cookie?
  • 您在 Magento 内部和外部都使用 HTTP 或 HTTPS 吗?

如果您已检查上述所有内容,请确保首先像这样自行初始化核心“前端”会话:

// Initialise the core "frontend" session
Mage::getModel('core/session', array('name' => 'frontend'));

然后您可以像这样访问客户/会话:

$customer = Mage::getSingleton("customer/session", array('name' => 'frontend'))->getCustomer();

The same issue was driving me mad. I worked through the following until the last item solved it:

  • Has the correct Mage store ID (current store) been set?
  • Are you using the same session path as Magento?
  • Are you using the same (sub)domain for cookie purposes?
  • Are you using HTTP or HTTPS both inside and outside Magento?

If you've checked all the above, make sure you initialize a core "frontend" session on its own first like this:

// Initialise the core "frontend" session
Mage::getModel('core/session', array('name' => 'frontend'));

Then you can access the customer/session like this:

$customer = Mage::getSingleton("customer/session", array('name' => 'frontend'))->getCustomer();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文