我制作了一个使用客户会话的自定义模块,但它很奇怪,在实时站点上它没有返回客户数据。我尝试了以下方法:
$sessCustomer = Mage::getSingleton('customer/session', array('name' => 'frontend'));
echo '<pre>';print_r($sessCustomer->getCustomer()->getData()); echo '</pre>';exit;
它返回:
Array
(
[website_id] => 1
)
如果我打印客户会话:
Mage::getSingleton('customer/session')->getData();
这返回(精确输出):
array(
[_session_validator_data] => Array
(
[remote_addr] => 58.65.183.10
[http_via] =>
[http_x_forwarded_for] => 58.65.183.10
[http_user_agent] => Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:16.0) Gecko/20100101 Firefox/16.0
)
[session_hosts] => Array
(
[bestevalue.info] => 1
)
[messages] => Mage_Core_Model_Message_Collection Object
(
[_messages:protected] => Array
(
)
[_lastAddedMessage:protected] =>
)
[id] =>
)
我在这里筋疲力尽,我已登录,可以看到带有客户信息的客户仪表板,但无法在我的自定义模块中使用该会话,请指导我如何解决此问题。
更新:
我已经签入 /app/etc/local.xml 会话类型是文件
<session_save><![CDATA[files]]></session_save>
那么有没有用 php 提取会话信息的不同方法?我究竟做错了什么?
更新 2:
我也使用路由器制作漂亮的网址
public function match(Zend_Controller_Request_Http $request)
在这个动作开始时我放置
Mage::getSingleton('core/session', array('name' => 'frontend'));
但如果没有路由器,它仍然无法使用它,例如直接访问操作:
site.com/module/controller/action
它可以工作,但不适用于路由器。有什么想法吗?谢谢,