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

Mostrar un texto informativo en Zend Form

Estas en el tema de Mostrar un texto informativo en Zend Form en el foro de Zend en Foros del Web. Buenas tardes. Me estoy viendo totalmente inútil al no poder añadir un simple texto informativo a un formulario hecho en Zend Framework. No tengo mucha ...
  #1 (permalink)  
Antiguo 29/09/2011, 08:52
Avatar de offenSuse  
Fecha de Ingreso: junio-2010
Ubicación: Sevilla
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Mostrar un texto informativo en Zend Form

Buenas tardes.

Me estoy viendo totalmente inútil al no poder añadir un simple texto informativo a un formulario hecho en Zend Framework.

No tengo mucha idea de Zend, solo tengo que modificar algo que ya esta hecho para añadir esto, mis conocimientos de php son buenos sobre html también, pero no encuentro que método de Zend es el encargado de mostrar un simple texto.

Gracias y un saludo.
  #2 (permalink)  
Antiguo 29/09/2011, 09:10
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Mostrar un texto informativo en Zend Form

Que tal offenSuse,

Primero bienvenido y segundo postea el código del Form porque hay varias formas de lograrlo y todo depende de los decorators que utilizaron para crear el From.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 29/09/2011, 10:55
Avatar de offenSuse  
Fecha de Ingreso: junio-2010
Ubicación: Sevilla
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Mostrar un texto informativo en Zend Form

Gracias por tu ayuda.

Te voy a poner la función donde debo insertarlo pero no creo que averigües nada de aquí. Es una función de SocialEngine para mostrar los ultimos elementos del formulario de busqueda de miembros de la red social.

El buscador de SocialEngine no funciona muy bien con campos añadidos al perfil de usuario de forma manual y quiero poner un mensaje e advertencia de que el buscador en sí funciona correctamente buscando por elementos individuales pero que no hace busquedas restringidas por distintos campos.

Pego la función donde se muestran los ultimos elementos del formulario de busqueda:

Código PHP:
  public function getAdditionalOptionsElement()
  {
    
$subform = new Zend_Form_SubForm(array(
      
'name' => 'extra',
      
'order' => 1000000,
      
'decorators' => array(
        
'FormElements',
      )
    ));
    
Engine_Form::enableForm($subform);

    
$subform->addElement('Checkbox''has_photo', array(
      
'label' => 'Only Members With Photos',
      
'decorators' => array(
        
'ViewHelper',
        array(
'Label', array('placement' => 'APPEND''tag' => 'label')),
        array(
'HtmlTag', array('tag' => 'li'))
      ),
    ));

    
$subform->addElement('Checkbox''is_online', array(
      
'label' => 'Only Online Members',
      
'decorators' => array(
        
'ViewHelper',
        array(
'Label', array('placement' => 'APPEND''tag' => 'label')),
        array(
'HtmlTag', array('tag' => 'li'))
      ),
    ));


   
/*
        Aquí querría poner mi mensaje personalizado, entre el elemento anterior y el boton "Search"
   */


    
$subform->addElement('Button''done', array(
      
'label' => 'Search',
      
'onclick' => 'javascript:searchMembers()',
      
'ignore' => true,
    ));


    
$this->addSubForm($subform$subform->getName());

    return 
$this;
  } 
Si necesitas más información te la busco.

Un saludo y de nuevo gracias :).
  #4 (permalink)  
Antiguo 29/09/2011, 12:54
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 19 años, 2 meses
Puntos: 55
Respuesta: Mostrar un texto informativo en Zend Form

buenas, todos los elementos del formulario tienen una función propia llamada setDescription() donde puede completar una descripción de dicho elemento del formulario

si esto no te sirve puedes crear un decorator personalizado que lo haga

suerte
__________________
Degiovanni Emilio
developtus.com
  #5 (permalink)  
Antiguo 29/09/2011, 15:57
Avatar de offenSuse  
Fecha de Ingreso: junio-2010
Ubicación: Sevilla
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Mostrar un texto informativo en Zend Form

Gracias emiliiodeg pero setDescription() he intentado añadirlo y creo que no lo estoy usando correctamente. De todas formas

El problema esta en que esta todo muy dividido (esto deberia ser una ventaja jeje) entonces el formulario se crea entre varios métodos y varias clases las que se extienden unas a otras. El número de elementos a mostrar no esta determinado a priori, se pueden crear tantos campos de busqueda como uno quiera (los campos de perfil de los usuarios) y eso me hace perderme en el codigo porque mezcla llamadas a base de datos que no llego a entender porque depende de como esta hecha la base de datos también.

También he intentado añadiendo un decorado pero soy torpe y no consigo añadir un elemento asi. Si me poneis un ejemplo quizás me ayude a entender como funciona eso, en el manual en ingles no me aclaro porque no se parece en nada al método que posteé anteriormente.

De todas formas muchas gracias, en serio.
  #6 (permalink)  
Antiguo 29/09/2011, 17:35
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Mostrar un texto informativo en Zend Form

Postea la estructura html que te genera actualmente y la estructura que deseas lograr.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 30/09/2011, 03:45
Avatar de offenSuse  
Fecha de Ingreso: junio-2010
Ubicación: Sevilla
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Mostrar un texto informativo en Zend Form

Lo podéis comprobar entrando en esta [URL="www.cargofamily.com/members"]dirección[/URL].

No pego el codigo porque es muy largo, se generan los "option" de cada pais y cada provincia, es un codigo larguisimo. Tan solo quiero poner un mensaje antes del boton "Buscar" (Search) que esta al final del formulario de busqueda que se encuentra a la izquierda en la pagina que he pasado antes, el mensaje debe ser algo asi: "Los distintos campos de búsqueda no son excluyentes, el nombre de usuario tiene preferencia sobre los demas campos".

Saludos!
  #8 (permalink)  
Antiguo 30/09/2011, 04:15
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Mostrar un texto informativo en Zend Form

Entonces setea el texto como descripción del button y agrega el decorator description con la opción placement a prepend, algo así:
Código PHP:
Ver original
  1. ...
  2. $subform->addElement('Button', 'done', array(
  3.     'label' => 'Search',
  4.     'onclick' => 'javascript:searchMembers()',
  5.     'ignore' => true,
  6.     'description' => 'Los distintos campos de búsqueda...'
  7. ));
  8. $subform->getElement('done')
  9.         ->addDecorator('Description', array('placement' => 'prepend'));    
  10. ...

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #9 (permalink)  
Antiguo 30/09/2011, 05:25
Avatar de offenSuse  
Fecha de Ingreso: junio-2010
Ubicación: Sevilla
Mensajes: 6
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Mostrar un texto informativo en Zend Form

Cita:
Iniciado por masterpuppet Ver Mensaje
Entonces setea el texto como descripción del button y agrega el decorator description con la opción placement a prepend, algo así:
Código PHP:
Ver original
  1. ...
  2. $subform->addElement('Button', 'done', array(
  3.     'label' => 'Search',
  4.     'onclick' => 'javascript:searchMembers()',
  5.     'ignore' => true,
  6.     'description' => 'Los distintos campos de búsqueda...'
  7. ));
  8. $subform->getElement('done')
  9.         ->addDecorator('Description', array('placement' => 'prepend'));    
  10. ...

Saludos.
Solucionado!

Gracias y mil gracias y muchas gracias más :).

Un saludo y de nuevo gracias :)

P.D. Que inutil soy :P

Etiquetas: framework, informativo, php, formulario
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 10:26.