Magento 在观察员结帐时显示 div
Magento show div on checkout from observer
我正在编写一个自定义的 Magento 模块来检查来宾用户是否正在使用已经注册的电子邮件地址。
该模块使用 controller_action_predispatch_checkout_onepage_saveBilling
观察者进行检查。
我正在努力解决的问题是如何在计费面板底部某处显示(或动态插入)带有错误消息的 div。
观察者工作正常,但现在我一直在向用户显示错误。我使用的是以下将显示 JS 警报的方法,但我现在需要包含一个可点击的 link..
$response = array('error' => -1, 'message' => Mage::helper('core')->__($errorMsg));
return $controller->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
有什么想法可以实现吗?
谢谢
您可以做的是在您的控制器中注册您的错误消息,并在您的模板文件中检查它。
所以在你的控制器中:
Mage::register('error_msg', $myErrorMsg);
然后在您的模板文件中:
$errorMsg = Mage::registry('error_msg');
if(!is_null($errorMsg)):
//do your magic here
endif;
我认为是:
1) 创建您自己的 jquery 输入帐单地址后点击继续按钮的功能。
2) 在电子邮件输入下方创建一个 div,其中 it.Keep 中没有文本 div 已隐藏。
3) 当用户填写账单明细并点击继续时,向您的自定义控制器发送一个 ajax 请求。
4) 检查该电子邮件 ID 是否已存在客户,如果是:将电子邮件 ID 设为空白并使步骤 2) 中的 div 可见,并在其 innethtml 文本中添加警告消息。添加 e.preventDefault() 以防止 magento 的默认保存计费 ajax 操作。
5) 如果电子邮件 ID 不存在。 return true 将继续 magento 的默认操作。
任何 Session 设置 - 获取变量都可能有点困难,因为大部分结帐工作都是由 AJAX 完成的,无需刷新页面。
我正在编写一个自定义的 Magento 模块来检查来宾用户是否正在使用已经注册的电子邮件地址。
该模块使用 controller_action_predispatch_checkout_onepage_saveBilling
观察者进行检查。
我正在努力解决的问题是如何在计费面板底部某处显示(或动态插入)带有错误消息的 div。
观察者工作正常,但现在我一直在向用户显示错误。我使用的是以下将显示 JS 警报的方法,但我现在需要包含一个可点击的 link..
$response = array('error' => -1, 'message' => Mage::helper('core')->__($errorMsg));
return $controller->getResponse()->setBody(Mage::helper('core')->jsonEncode($response));
有什么想法可以实现吗?
谢谢
您可以做的是在您的控制器中注册您的错误消息,并在您的模板文件中检查它。
所以在你的控制器中:
Mage::register('error_msg', $myErrorMsg);
然后在您的模板文件中:
$errorMsg = Mage::registry('error_msg');
if(!is_null($errorMsg)):
//do your magic here
endif;
我认为是:
1) 创建您自己的 jquery 输入帐单地址后点击继续按钮的功能。
2) 在电子邮件输入下方创建一个 div,其中 it.Keep 中没有文本 div 已隐藏。
3) 当用户填写账单明细并点击继续时,向您的自定义控制器发送一个 ajax 请求。
4) 检查该电子邮件 ID 是否已存在客户,如果是:将电子邮件 ID 设为空白并使步骤 2) 中的 div 可见,并在其 innethtml 文本中添加警告消息。添加 e.preventDefault() 以防止 magento 的默认保存计费 ajax 操作。
5) 如果电子邮件 ID 不存在。 return true 将继续 magento 的默认操作。
任何 Session 设置 - 获取变量都可能有点困难,因为大部分结帐工作都是由 AJAX 完成的,无需刷新页面。