2011-08-06 1 views
4

Magentoのいくつかのフォーム要素を間違えて入力した場合、事前に入力されたフォームを取得するにはどうすればよいですか?Magentoでのフォーム提出でエラーが発生したあと、カスタムフォームを事前に入力する方法はありますか?

私はコンタクトフォームに似たフォームを持つカスタムモジュールを持っていますが、それにはrecaptchaがあります。したがって、顧客は他の必須フィールドと共にキャプチャコードを挿入する必要があります。

お客様がrecaptchaの作成に間違いを犯したと仮定すると、同じページにリダイレクトされますが、リダイレクト後にフォームデータが消えてしまいます。だから、私がしたいのはフォームフィールドを保存して、何度も何度も塗りつぶす必要がないようにすることです。

どのような助けも非常に評価されます。

$myParam = $this->getRequest()->getParam('my_param'); 

または

$params = Mage::app()->getRequest()->getParams(); 

を使用して、フォームでそれを埋めるを:使用して

おかげ

答えて

-1

グラブ値。

+2

ダニー、おかげで助けようとしたが、それは仕事をしなかった。このソリューションはhttp://www.magentocommerce.com/boards/viewthread/237450/ –

+0

に掲載されています。Magentoforumsは閉鎖されており、magento.stackexchange.comにリダイレクトされています。 。 –

+0

フォーラムスレッドのアーカイブ版です。これは現在死んでいます: https://goo.gl/t5EhKg – EcoG

0

マゼンタがこのような状況を処理できる方法は、セッションです。あなたがチェックアウトすることができ、単一の要求に応じて、反対側の

(....リダイレクション、ページの変更などの後)セッションに保存されている たデータは、リクエスト全体で永続的になり、後でこれらのデータを使用することができますMagentoレジストリメソッドの使用方法Mage::register()/Mage::registry()。レジストリは、「保存して続行する」ボタンを使用しているときに、バックエンドモジュールなどの同じ要求(リダイレクトなし)でデータを保持する必要がある場合に使用できます。顧客の一部のデータ(または必要に応じて別の1)のセッション設定:

セッションを使用するには、データが掲載されている場合たとえば

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

を、あなたはあなたが投稿しSTOREますpostActionのいくつかの並べ替えであります顧客セッションのデータ例えば

:後でその後

$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"/> 
関連する問題