2012-02-13 14 views
2

私はZend Frameworkアプリケーションを持っていますが、フォームクラスでフォームアクションを設定することに固執しています。zend framework:フォームクラスでアクションを設定

class Form_Nieuws_AddForm extends Zend_Form { 

    public function init() { 
    $this->setMethod('get'); 
    $this->setAction('/test/blaat'); 
    $this->setAttribs(array(
     'id' => 'frmCreate', 
     'class' => 'baal' 
    )); 
      .... 
    } 
} 

はattribsはうまく設定されているが、アクションや方法はありませんか? これらをコントローラに移動すると、正常に動作します。どうして?

+0

これらは '$ this-> setMethod( 'get');と' $ this-> setAction( '/ test/blaat');で設定されています。それぞれ「 」となります。 – vascowhite

答えて

4

I君は、私はこのようなZend_Formのをcostants使用して、フォームのinitメソッドにメソッドを設定する場所場合:

$this->setMethod(self::METHOD_POST); 

とURLをcostructするための適切な方法を使用して、コントローラ内のアクション:

$Form->setAction($this->view->url(array('controller' => 'test', 'action' => 'blaat'), 'default', TRUE)); 
+0

2番目のコマンドをZend_Formクラス(コントローラよりも良い場所)に置く方法はありますか?デフォルトではビューはそこでは使用できません。 – wmac

関連する問題