gpt4 book ai didi

forms - 如何在 Magento 中的表单提交错误后预先填写自定义表单?

转载 作者:行者123 更新时间:2023-12-03 18:06:17 25 4
gpt4 key购买 nike

如果在 Magento 中填写某些表单元素时出错,我如何获得预填写的表单?

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

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

任何帮助都将是非常可观的。

谢谢

最佳答案

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

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

要使用 session :在客户 session 中设置一些数据(或其他数据,如果需要):

Mage::getSingleton('customer/session')->setData('myDataName', $myData);

例如,当发布数据并且您处于某种 postAction 中时,您会将发布的数据存储在客户 session 中。

例如 :
$post = $this->getRequest()->getPost();
Mage::getSingleton('customer/session')->setData('postedData', $post);

然后稍后您可以使用
$myData = Mage::getSingleton('customer/session')->getData('postedData');

然后在您的前端表单中使用这些数据:
<input value="<?php echo $myData->getName()?>" type="text"/>

关于forms - 如何在 Magento 中的表单提交错误后预先填写自定义表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6966594/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com