0

私はZend Frameworkにかなり慣れていないので、その要点を理解し始めていますが、もう一度問題に遭遇しました。ユーザーがファイルをアップロードできるフォームを作成したいと考えています。

ここでの考え方は、ユーザーが最初にフォームを含むページにアクセスしたときに、ファイルをアップロードするフォーム要素が 1 つだけ表示され、その下に追加のファイルを追加するためのボタンが表示され、フォームに追加の要素が表示されるということです。

私は周りを見回しており、JQuery を使用してみることを提案されました。この時点で、Zend Framework との組み合わせはもちろんのこと、JQuery を使用したことがないことを言及しておくことをお勧めします。

このように、ZendXライブラリをZendフォルダーがある同じフォルダーに追加しました

/Zend Framework
 /library
  /Zend
  /ZendX

もちろん、ライブラリ フォルダーは php.ini の include_path 変数に含まれています。Zend Refferenceガイドから私ができることによると、Bootstrapに以下を追加する必要があります。

public function _initJQuery() {
    $view = new Zend_View();
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}

それが完了したら、コンテンツ モジュールに次の Jquery フォームを作成します。

<?php
class Content_Form_JQueryForm extends ZendX_JQuery_Form
{
    public function init()
    {
        $this->setMethod('post');
        $this->setName('frm');
        $this->setAction('content/index/add');

        $date1 = new ZendX_JQuery_Form_Element_DatePicker(
                'date1',
                array('label' => 'Date:')
             );

        $this->addElement($date1);

        $elem = new ZendX_JQuery_Form_Element_Spinner(
                "spinner1", 
                array('label' => 'Spinner:')
        );

        $elem->setJQueryParams(array('min' => 0, 'max' => 1000, 'start' => 100));
        $this->addElement($elem);
    }
}

次に、コントローラーでフォームを作成してビューに割り当てるだけです

public function indexAction() {
    $form = new Content_Form_JQueryForm();
        $this->view->form = $form;
}

そしてもちろん、適切なビューでフォームをエコーし​​ます

<?php echo $this->form; ?>

アプリケーションを実行すると、次のエラーメッセージが表示されます

致命的なエラー: クラス 'Content_Form_JQueryForm' が C:\wamp\www\ZendProject\application\modules\content\controllers\CategoryController.php の 10 行目に見つかりません

私は自分が間違ったことをしたことについて無知であり、誰かが私を助けることができれば本当に感謝しています.

4

1 に答える 1

0

最後に、このチュートリアルhttp://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/に出くわしました。

これは、Zend でフォームがどのように機能するかを理解する上で非常に役立ちました。

于 2012-05-31T13:25:01.107 に答える