複数の開発者を経たサイトを引き継いでいます。によると、このサイトは Zend バージョン 1.12.0 を使用Zend_Version::VERSION
しています。これは私にとって新しいフレームワークです。App_Form_Customers_Edit
このサイトには、 を拡張する というフォーム クラスがありますZend_Form
。フォームのアクションは /customers/edit で、送信されるとメソッド editActionCustomersController
が実行されます。
そのため、新しいフォームを作成するためApp_Form_Customers_EditAddress
に、 と同じディレクトリに新しいクラスを作成し、そのApp_Form_Customers_Edit
アクションを に設定し、クラスで/customers/editaddress
呼び出される関数を作成し、フォームをテストしました。しかし、「リソース 'customers::editaddress' が見つかりません」というエラーが表示されますeditaddressAction
CustomersController
フォーム自体は適切に表示されています。私が知る限り、機能する他のフォームとまったく同じパターンを使用しており、zf コマンドを使用しないことを除けば、Zend のドキュメントでここで規定されているのと同じ方法です: http: //framework.zend.com/manual/1.12/en/learning.quickstart.create-form.html
新しいフォームを機能させるにはどうすればよいですか? 更新する必要があり.zfproject.xml
ますか? 作業フォームに関連するものは何も表示されません。
のコードは次のApp_Form_Customers_Edit
とおりです。
class App_Form_Customers_Edit extends Zend_Form
{
public function init ()
{
$this->addPrefixPath('App_Form', 'App/Form/');
$this->setMethod('post');
// ... The rest is just calls to $this->addElement
}
}
そしてのためにEditAddress
:
class App_Form_Customers_EditAddress extends Zend_Form
{
public function init ()
{
$this->addPrefixPath('App_Form', 'App/Form/')
->setMethod('post')
->setAction('/customers/editaddress');
$this->addElement('submit', 'active', ['value' => 'Activate']);
$this->addElement('submit', 'remove', ['value' => 'Remove']);
$this->addElement('hidden', 'id');
}
}