Php 重定向前在Magento中发送事件

Php 重定向前在Magento中发送事件,php,session,magento,redirect,Php,Session,Magento,Redirect,在Magento中使用事件调度时遇到问题 我使用controller_action_predispatch从URL中的参数设置前端会话变量 现在,问题似乎是,当用户最初访问该站点时,他们可能会在一个页面上进行借阅,该页面会将他们重定向到基本URL(例如example.com到www.example.com)。 但由于某些原因,重定向后,会话变量丢失 有什么想法吗 多谢各位 编辑: 添加使用的代码: public function grabRef($observer) { $ref = M

在Magento中使用事件调度时遇到问题

我使用controller_action_predispatch从URL中的参数设置前端会话变量

现在,问题似乎是,当用户最初访问该站点时,他们可能会在一个页面上进行借阅,该页面会将他们重定向到基本URL(例如example.com到www.example.com)。 但由于某些原因,重定向后,会话变量丢失

有什么想法吗

多谢各位

编辑:

添加使用的代码:

public function grabRef($observer) {
    $ref = Mage::app()->getRequest()->getParam('ref', $default);
    if (isset($ref) && !is_null($ref) and !empty($ref)) {

        Mage::getSingleton('core/session',array('name'=>'frontend'))->setRefid($ref);

    }
}

在此重定向之前,仅调度了两个远程有用的事件,但它们不是特定于重定向的:

  • controller\u front\u init\u before
  • controller\u front\u init\u路由器
重定向取决于系统>配置>网站>URL选项中的“自动重定向到基本URL”设置,该设置由评估。此重定向发生在任何分派发生之前,并且它不会附加GET或POST数据,因此您试图捕获的参数将丢失


通常,基于所使用的控制器类,在
adminhtml
frontend
会话命名空间下初始化会话(动作控制器超类方法)。您应该能够在 Global /事件/控件/FrimeTr.ItITy之前将观察者配置移动到。<强>注意,您必须在<代码> Global 事件区域中执行此操作,因为前端事件配置部分直到事件发送后才加载。<强>该PAR。特定场景花费了我一个小时!

您需要添加当前的会话设置代码。仅供参考:不要在StackOverflow上反勾选代码示例。这里的编辑器是基于降价的,所以只需将代码示例缩进四个字符,就可以将其格式化为代码。谢谢,
这件事有点问题…:)感谢您提供的清晰信息。会话是否会因为url更改而重置?对于您定义的范围,我认为您不会看到会话重置行为。