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

helper de composcion con Zend_Form_Element

Estas en el tema de helper de composcion con Zend_Form_Element en el foro de Zend en Foros del Web. Hola a todos: Estoy haciendo una helper que me permite hacer una composicion de elementos de un formulario ya que un campo de mi formulario ...
  #1 (permalink)  
Antiguo 15/04/2010, 10:07
 
Fecha de Ingreso: abril-2010
Ubicación: Lima-Peru
Mensajes: 94
Antigüedad: 14 años
Puntos: 2
helper de composcion con Zend_Form_Element

Hola a todos:

Estoy haciendo una helper que me permite hacer una composicion de elementos de un formulario ya que un campo de mi formulario posee dos partes ( año y numero de la orden) hasta aca todo bien me resulto los helpers y puedo guardar el dato en la base de datos. El problema es que cuando deseo editar la orden no me carga los datos en los respectivos campos. Estoy revisando y la verdad no encuentro el problema, espero alguien me pueda ayudar.

Pongo los codigos que he desarrollado:

../library/My/Form/Element/Number.php

Código PHP:
<?php

class My_Form_Element_Number
    
extends Zend_Form_Element_Xhtml
{
    public 
$helper "numberElement";
    protected 
$anho null;
    protected 
$numero null;
   
    function 
setAnho($num)
    {
        
$this->anho $num;
        return 
$this;
    }

    function 
setNumero($num)
    {
        
$this->numero $num;
        return 
$this;
    }

       

    public function 
setValue($value)
    {
        if (
is_array($value)
                &&(isset(
$value['anho']))
                &&(isset(
$value['numero']))
                )
        {
            
$this->setAnho($value['anho'])
                 ->
setNumero($value['numero']);
                 
        }
    }

    public function 
getValue()
    {
        if (! 
$this-><anho || ! $this->numero)
                return 
false;
        return 
$this->anho .'/'$this->numero;
    }
}
../library/My/View/Helper/NumberElement.php
Código PHP:
<?php

class My_View_Helper_NumberElement
    
extends Zend_View_Helper_FormElement
{
    protected 
$html '';
    public function 
numberElement($name$value null$attribs null)
    {
        
$anho $numero'';
        if (
$value)
            list(
$anho$numero) = split('/',$value);

        
$helper = new Zend_View_Helper_FormText();
        
$helper->setView($this->view);
        

        
$this->html .= $helper->formText($name '[anho]',$anho,array('size'=>2,'maxlength'=>4));
        
$this->html .= $helper->formText($name '[numero]',$numero,array('size'=>4,'maxlength'=>6));
        
        

        return 
$this->html;
    }

}
Código PHP:
<?php
class Form_ordenForm
    
extends Zend_Form
{
    public function 
init()
    {
        
$this->setMethod('post');

        
        
$numero = new My_Form_Element_Number('numero');
               
$numero->setLabel('Numero de Orden')
                             ->
setRequired(true);

        
$submit = new Zend_Form_Element_Submit('submit');
        

        
$this->addElements(array($numero$submit));
    }
}
Saludos,
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 21:07.