Foros del Web » Programando para Internet » PHP » Zend »

declarar multiples forms en una misma clase Zend_Form

Estas en el tema de declarar multiples forms en una misma clase Zend_Form en el foro de Zend en Foros del Web. Hola a todos, Estoy empezando con ZF y la verdad es que me estoy haciendo un pequeño lio con los formularios, controladores, etc. Me preguntaba ...
  #1 (permalink)  
Antiguo 26/08/2012, 12:25
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 14 años, 1 mes
Puntos: 11
declarar multiples forms en una misma clase Zend_Form

Hola a todos,

Estoy empezando con ZF y la verdad es que me estoy haciendo un pequeño lio con los formularios, controladores, etc.

Me preguntaba si se podia declarar multiples forms a la hora de declarar varios Zend_Forms y ponerlos en el mismo archivo, algo asi:

/forms/Admin.php

Código PHP:
<?php
class Application_Form_Admin extends Zend_Form{
    
    public function 
init(){
        
$this->addElement('text''login', array(
            
'label' => 'Login',
            
'required' => true
        
));
        
$this->addElement('password''password', array(
            
'label' => 'Password',
            
'required' => true
        
));
        
$this->addElement('submit''Entrar', array());
    }
    
    public function 
agregaPais(){
        
$this->addElement('text''nombre_pais', array(
            
'label' => 'Nombre del pais',
            
'required' => true
        
));
        
$this->addElement('submit''Guardar', array());
    }
}
?>
/controllers/AdminController.php

Código PHP:
<?php
class AdminController extends Zend_Controller_Action{
       
    public function 
indexAction(){
        
$form = new Application_Form_Admin();
        
$this->view->form $form;
    }
    
    public function 
agregaAction(){
        
$form = new Application_Form_Admin();
        
$this->view->agrega $form->agregaPais();
    }
}
?>
He probado a hacerlo pero cuando se ejecuta el indexAction() no hay problema, me muestra el formulario de login, pero si hago $this->view->agrega = $form->agregaPais() me devuelve un valor nulo. Hay posibilidad de hacerlo o tengo que declarar los forms creando cada vez una nueva instancia de Zend_Form y agregando los elementos dentro del Controller manualmente?
  #2 (permalink)  
Antiguo 26/08/2012, 12:49
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 14 años, 7 meses
Puntos: 845
Respuesta: declarar multiples forms en una misma clase Zend_Form

Te retorna null porque tu método no devuelve nada, para utilizarlo de esa forma deberias agregar al final del metodo:

Código PHP:
Ver original
  1. return $this;

Y te sugiero que si estas empezando con el fw vayas directamente a la versión 2, hoy en día no tiene mucho sentido invertir tiempo en aprender Zend 1.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 26/08/2012, 13:03
 
Fecha de Ingreso: junio-2008
Mensajes: 175
Antigüedad: 14 años, 1 mes
Puntos: 11
Respuesta: declarar multiples forms en una misma clase Zend_Form

Cita:
Iniciado por masterpuppet Ver Mensaje
Te retorna null porque tu método no devuelve nada, para utilizarlo de esa forma deberias agregar al final del metodo:

Código PHP:
Ver original
  1. return $this;

Y te sugiero que si estas empezando con el fw vayas directamente a la versión 2, hoy en día no tiene mucho sentido invertir tiempo en aprender Zend 1.

Saludos.
Gracias, ya funciona

Tanta diferencia hay entre la version 1 y 2? imagino que tendran muchas cosas en comun y que aprendiendo el 1 luego pasar al 2 no sera demasiado complicado, no?

Nunca antes habia trabajado con FWs y queria practicar con alguno para empezar a entender un poco mejor el MVC.
  #4 (permalink)  
Antiguo 26/08/2012, 13:52
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 14 años, 7 meses
Puntos: 845
Respuesta: declarar multiples forms en una misma clase Zend_Form

Hay un mundo entre las versiones, por eso te sugiero que te vayas a la versión 2.
__________________
http://es.phptherightway.com/
thats us riders :)

Etiquetas: clase, class, declarar, forms, multiples, php, zend-form
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:00.