首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Magento中提交表单时出错后如何预先填写自定义表单?

问在Magento中提交表单时出错后如何预先填写自定义表单?
EN

Stack Overflow用户
提问于 2011-08-06 19:47:43
回答 2查看 3.8K关注 0票数 5

在Magento中填写某些表单元素出错的情况下,如何获取预先填写的表单?

我有一个自定义模块的形式类似于联系人的形式,但它有recaptcha。因此,客户需要插入验证码以及其他必填字段。

假设客户在填写recaptcha时出错,那么他们将被重定向到同一页,但我看到表单数据在重定向后消失了。所以我想要的是保留表单域,这样他们就不需要一次又一次地填充它们。

任何帮助都将是非常值得感谢的。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-03-03 21:59:39

Magento处理这种情况的方法是通过会话。存储在会话中的数据将在整个请求过程中保持不变,您将能够在以后使用这些数据(在重定向、页面更改等之后)。

相反,对于单个请求,您可以查看如何使用Magento注册表方法Mage::register()/Mage::registry()。当你需要在相同的请求(无重定向)上保存数据时,可以使用,例如,在使用“保存并继续注册表”按钮时,可以在后端模块上保存数据。

要使用会话:使用以下命令在客户会话中设置一些数据(如果需要,还可以设置另一个会话):

代码语言:javascript
复制
Mage::getSingleton('customer/session')->setData('myDataName', $myData);

例如,当发布数据时,如果您在某种postAction中,您将把发布的数据存储在客户会话中。

例如:

代码语言:javascript
复制
$post = $this->getRequest()->getPost();
Mage::getSingleton('customer/session')->setData('postedData', $post);

然后,您可以使用以下命令检索该数据

代码语言:javascript
复制
$myData = Mage::getSingleton('customer/session')->getData('postedData');

然后在你的前端表单中使用这些数据:

代码语言:javascript
复制
<input value="<?php echo $myData->getName()?>" type="text"/>
票数 0
EN

Stack Overflow用户

发布于 2011-08-07 17:01:42

通过使用以下命令获取这些值:

代码语言:javascript
复制
$myParam = $this->getRequest()->getParam('my_param');

或使用

代码语言:javascript
复制
$params = Mage::app()->getRequest()->getParams(); 

然后把它填到你的表格里。

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

https://stackoverflow.com/questions/6966594

复制
相关文章

相似问题

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