Elementos de formulario flexibles de Zend Framework con jQuery

Soy bastante nuevo en Zend Framework, pero estoy empezando a entenderlo, sin embargo, una vez más me encontré con un problema. Quiero crear un formulario donde sea posible que el usuario cargue archivos.

Ahora la idea es que cuando el usuario visite por primera vez la página con el formulario, verá solo un elemento de formulario con el que cargar un archivo y debajo un botón para agregar un archivo adicional y, por lo tanto, un elemento adicional al formulario.

He estado buscando y me han sugerido que intente usar JQuery, en este punto probablemente sea bueno mencionar que nunca he usado JQuery, y mucho menos en combinación con Zend Framework.

He agregado la biblioteca ZendX a la misma carpeta en la que tengo la carpeta Zend, así

/Zend Framework
 /library
  /Zend
  /ZendX

Por supuesto, tengo la carpeta de la biblioteca incluida en mi variable include_path en php.ini. De acuerdo con lo que puedo hacer con la guía de referencia de Zend, necesito agregar lo siguiente a mi 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);
}

Habiendo hecho eso, construyo el siguiente formulario Jquery en mi módulo de contenido.

<?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);
    }
}

Luego, en el controlador, simplemente creo el formulario y lo asigno a una vista

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

Y, por supuesto, en la vista apropiada hago eco del formulario

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

Y cuando ejecuto la aplicación me sale el siguiente mensaje de error

Error fatal: Clase 'Content_Form_JQueryForm' no encontrada en C:\wamp\www\ZendProject\application\modules\content\controllers\CategoryController.php en la línea 10

No tengo idea de lo que he hecho mal y si alguien pudiera ayudarme, se lo agradecería mucho.

preguntado el 22 de mayo de 12 a las 15:05

1 Respuestas

Al final me topé con este tutorial, http://www.jeremykendall.net/2009/01/19/dynamically-adding-elements-to-zend-form/.

Ha sido de gran ayuda para comprender cómo funcionan los formularios en Zend.

contestado el 31 de mayo de 12 a las 14:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.