-2

作成したフォームを含む CMS ページを作成しましたが、フォーム アクションを /template/contacts/report.phtml に送信したい

現在、私はこれを私の形で持っていますが、それが正しくないことはわかっています。

<form action="report.phtml" id="contactForm" method="post">

助けてくれてありがとう!

4

1 に答える 1

-1

Magento には、magento 標準のお問い合わせフォームが組み込まれています。ブラウザからアクセスできます www.yourdomain.com/contacts

これはapp/code/core/Mage/Contacts/controllers/indexController.phpのコントローラーと呼び出される関数によって管理されます

パブリック関数indexAction()

フォームのアクションはhttp://www.yourdomain.com/contacts/index/post/にあります。これは、同じコントローラーと呼び出された関数によって管理されます

パブリック関数postAction()

Magento のように (追加のフィールドを追加して) 完全にカスタム フォームを作成する場合は、拡張機能を作成し、ブラウザーからアクセスできる独自のコントローラーを用意する必要があります。

また

ハッキング方法として、postAction() と同じコードで customAction() という新しい関数を作成できます。app/code/ core /Mage/Contacts/controllers/indexController.phpをコピーして、 app/code/ local /Mage/Contacts/controllers/indexController.phpに新しいファイルを作成できます

そして全体をコピー

パブリック関数 postAction(){

関数が終了するまで。

}

それを貼り付けて、関数 customAction() の名前を変更します。そして、リダイレクトをカスタマイズしたい場合。customAction() 内のコードを変更できます

Mage::getSingleton('customer/session')->addSuccess(Mage::helper('contacts')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
$this->_redirect('*/*/');

Mage::getSingleton('customer/session')->addSuccess(Mage::helper('contacts')->__('Your inquiry was submitted and will be responded to as soon as possible. Thank you for contacting us.'));
$this->_redirect('http://yourdomain/redirect_url');

そして、あなたが指すことができるフォーム上のアクションhttp://www.yourdomain.com/contacts/index/custom/

それが助けになることを願っています。

于 2013-03-28T23:38:25.063 に答える