bor*_*uch 3 php session redirect magento
我在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);
}
}
Run Code Online (Sandbox Code Playgroud)
在此重定向之前只分派了两个远程有用的事件,但它们并不特定于重定向:
controller_front_init_beforecontroller_front_init_routers重定向取决于系统>配置> Web> URL选项中的"自动重定向到基本URL"设置,该设置由评估Mage_Core_Controller_Varien_Front->_checkBaseUrl().此重定向发生在任何调度发生之前,并且它不附加GET或POST数据,因此丢失了您尝试捕获的参数.
通常,会议都在初始化adminhtml或frontend正在使用基于控制器类会话命名空间(REF动作控制器超类方法Mage_Core_Controller_Varien_Action->preDispatch(),你应该能够在移动的观察者的配置global/events/controller_front_init_before.需要注意的是,你必须在做这个global活动区,前端事件配置在调度此事件之后,部分才会加载.这个特定场景花了我一个小时一次!
| 归档时间: |
|
| 查看次数: |
1476 次 |
| 最近记录: |