-1

で、顧客登録フォームに似たカスタムフォームを作成しましたMagento。エラーメッセージが発生したときにこのフォームに事前入力したい。

カスタムフォームを事前入力する方法を知っている人はいますMagentoか?

4

1 に答える 1

2

コードを見ないと、どのメソッドが機能するかを判断するのは困難ですが、これらのメソッドのいずれかが機能するはずです。

JavaScript Validation の使用- クライアント側で検証し、必要な情報がすべて正しい場合にのみ投稿します

<form name="my-form" id="my-form" method="post">
<label for="username">
< ?php echo $this->__("User name") ?> <span>*</span></label><br />
<input type="text" id="username" name="username" class="input-text required-entry"/>
.....
</form>

<script type=”text/javascript”&gt;
//< ![CDATA[
var customForm = new VarienForm('my-form');
//]]>
</script>

すべての検証クラス名のリストを表示

再入力フィールド 顧客が入力したすべての投稿変数情報のリストを取得するには

Mage::app()->getRequest()->getPost();

フォームフィールドを取得するには (例: <input type='text' name='firstname' ... />)

Mage::app()->getRequest()->getPost('firstname');

したがって、.phtmlで試してみてください(エラー時にリダイレクトを行う場合、これは機能しません)

<input type='text' name='firstname' value="<?php echo Mage::app()->getRequest()->getPost('firstname');?>" />

上記が機能しない場合は、投稿情報をセッションに保存する必要があります。

コントローラーで検証が失敗した場合、顧客セッションに情報を保存します

 Mage::getSingleton( 'customer/session' )->setData( 'yourFormName', Mage::app()->getRequest()->getPost() );

'yourFormName' 変数セッションが存在する場合、phtml テンプレートでデータを出力します。

于 2012-12-04T10:10:47.337 に答える