authorEdit と author Create の 2 つのフォームがあります。これら 2 つのフォームは、1 つのコントローラーで管理されます。各フォームには送信ボタンがあり、それらのボタンの名前は同じではありません。
送信ボタン名に関して使用しているフォームをコントローラで確認するにはどうすればよいですか?
ありがとうございました。
2つの異なるアクションを使用してから、共有メソッドを呼び出すことができます。
/**
* ...
*/
public function createAction()
{
return $this->processForm('create');
}
/**
* ...
*/
public function editAction()
{
return $this->processForm('edit');
}
private function processForm($action)
{
// ...
return array(/* ... */);
}
1 つのルートのみを使用する場合の解決策もあります。
使用しているフォームの名前が異なる場合 (getName() 関数を上書きした場合)、次のように確認できます。
$this->getRequest()->get('yourFormName'))
1 つのフォームが送信された場合。
したがって、あなたの場合は次のようになります。
if($this->getRequest()->get('authorEdit')) {
//
} elseif($this->getRequest()->get('authorCreate')) {
//
}