-1

以下のこのアクションを備えたコントローラーがあります。

public function addAction()
{
    //action for the comments submission
    $form = new Application_Form_Comment();
    $form->submit->setLabel('Comment');
    $this->view->form = $form;
    if ($this->getRequest()->isPost()) {
        $formData = $this->getRequest()->getPost();
        if ($form->isValid($formData)) {
        $comment = new Application_Model_DbTable_Comments();
        $comment->addComment($formData['comment'], $id);
            $this->_helper->redirector('index');
        } else {
            $form->populate($formData);
        }
    }

私の見解では、 $this->form; をエコーすると フォームが表示されません。

リック

4

1 に答える 1

0

フォームを特定のコントローラーから分離しようとしていると仮定すると、ビュー ヘルパーを使用できます。自分で書くのはとても簡単です。

以下を含むファイルを作成しますapplication/views/helpers/CommentForm.php:-

class Zend_View_Helper_CommentForm extends Zend_View_Helper_Abstract
{
    public function commentForm()
    {
        $form = new Application_Form_Comment();
        return $form;
    }
}

次に、必要なビューで次のことを行います。

echo $this->commentForm();

あなたのフォームをレンダリングします。

于 2012-04-18T22:47:01.447 に答える