Como poner Tooltips de ayuda en una forma de Zend_Form usando Dojo

Mayo 19th, 2009  |  Published in PHP, Zend Framework, Zend_Form  |  3 Comments

Existen situaciones en las que un label en una forma no es sucifiente para explicar lo que quieres que el usuario capture en el campo… hay que dar una mejor explicacion,

una idea es poner iconos de ayuda enseguida de los campos y sacar un tooltip con la explicacion del campo.

El tip original lo obtuve de un blog Aleman aqui: http://www.scriptblogger.de/dijit-tooltips-und-zend_form-213.html

Pero aqui va una version en español con algunas modificaciones.

Tengo mi forma en una clase que extiende a Zend_Form y en los elementos que quiero que tengan un icono de ayuda les pongo un label y una description de la siguiente forma (mas abajo explico de donde viene):

class Mi_Forma extends Zend_Form {
 
	public function __construct($options = null)
	{
		$view = Zend_Layout::getMvcInstance()->getView();
		parent::__construct($options);
		Zend_Dojo::enableForm($this);
 
		$this->addElement('text', 'nombre', array(
			'label'		=> $view->instructionTooltip('Nombre', 'nombreAyuda', 'label'),
			'description' => $view->instructionTooltip('Escribe tu nombre aqui', 'nombreAyuda', 'description')
		));
	}
 
}

Si se fijan, el label y la description estan mandando llamar a un Helper de la vista, el Helper es este:

class Mi_View_Helper_InstructionTooltip {
 
	public $view;
 
	public function setView(Zend_View_Interface $view)
	{
		$this->view = $view;
	}
 
	public function instructionTooltip($text, $id, $mode = 'label')
	{
		if ($mode == 'label') {
			return $text . '<span id="' . $id . '" class="formaAyuda">?</span>';
		}
		if ($mode == 'description') {
			return '<span dojoType="dijit.Tooltip" style="display:none;" connectId="' . $id . '" id="' . $id . '_tooltip">' . $text . '</span>';
		}
	}
 
}

Ahora, hay que poner unas clases en nuestro CSS

.formaAyuda {
	font-size:0.7em;
	font-weight:normal;
	color:#0000FF;
	border:1px solid #7EABCD;
	-moz-border-radius:15px;
	-webkit-border-radius:15px;
	margin-left:0.5em;
	margin-right:2em;
	padding-left:4px;
	padding-right:4px;
}
Compartir:
  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • FriendFeed
  • MySpace
  • Netvibes
  • Turn this article into a PDF!
  • Reddit
  • RSS
  • Slashdot
  • StumbleUpon
  • Twitter

Responses

  1. laqugoly says:

    Marzo 27th, 2010 at 5:03 am (#)

    laqugoly…

    Download mp3 with Goldfrapp-Number 1

  2. HOWARD says:

    Julio 20th, 2010 at 6:10 pm (#)


    Medicamentspot.com. Canadian Health&Care.Best quality drugs.No prescription online pharmacy.Special Internet Prices. High quality drugs. Order pills online

    Buy:Seroquel.Lipothin.Zocor.Cozaar.Nymphomax.SleepWell.Buspar.Female Pink Viagra.Female Cialis.Lasix.Wellbutrin SR.Benicar.Lipitor.Aricept.Acomplia.Prozac.Ventolin.Amoxicillin.Zetia.Advair….

  3. LESTER says:

    Julio 21st, 2010 at 9:25 am (#)


    Medicamentspot.com. Canadian Health&Care.Special Internet Prices.No prescription online pharmacy.Best quality drugs. No prescription pills. Order drugs online

    Buy:Nymphomax.Benicar.Seroquel.Amoxicillin.Lipitor.Female Cialis.SleepWell.Aricept.Lasix.Acomplia.Zocor.Ventolin.Prozac.Wellbutrin SR.Cozaar.Zetia.Lipothin.Buspar.Female Pink Viagra.Advair….

Leave a Response

You must be logged in to post a comment.