首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento - magento以外的访问会话

Magento - magento以外的访问会话
EN

Stack Overflow用户
提问于 2014-11-08 20:49:10
回答 1查看 1.1K关注 0票数 1

我用的是Mangeto 1.9.1

我试图在magento根目录中的php文件中访问magento之外的magento客户会话。

这是我的代码:

代码语言:javascript
复制
<?php
error_reporting(E_ALL | E_STRICT);
$mageFilename = 'app/Mage.php';
require_once $mageFilename;
$app = Mage::app('default'); 
Mage::app();

$customer_id = Mage::getSingleton('customer/session')->getId();


$GrandTotal = Mage::getModel('sales/quote')->loadByCustomer($customer_id)->getGrandTotal();
$HalfTotal = $GrandTotal / 2;
echo "Grand: $GrandTotal<br>Half: $HalfTotal";
?>  

我的magento安装在像beta.mymagento.com这样的子域上

但是它似乎不能访问会话。我怎么才能修好它?

提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2014-11-10 21:20:49

由于Magento将其会话ID存储在与典型PHP应用程序不同的cookie中,因此您在选择正确的会话时遇到了问题。您需要首先初始化一个核心会话,并告诉它查看一个名为前端的cookie,而不是任何默认的。您的代码应该如下所示:

代码语言:javascript
复制
...

Mage::getSingleton('core/session', array('name' => 'frontend'));
$customer_id = Mage::getSingleton('customer/session')->getId();

...

而且,您很可能只需要一个对Mage::app()的调用。

注意:如果在Magento安装中有多个商店/网站,则必须使用适当的标识符(如Mage::app() )调用Mage::app('<website_code>', 'website');

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26821922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档