Crear un Widget en Yii + Botón Volver

Crear un widget en Yii es muy sencillo, y nos sirve para rehusar código de una manera muy fácil.

En este caso no veremos ningún ejemplo complejo, ni si quiera pasaremos parámetros. Simplemente crearemos un botón volver que podremos insertar en cualquier parte de nuestra página.

Para este ejemplo se crea la carpeta ext/data dentro de protected. Aquí crearemos nuestro widget.

Creamos la Clase EBackButtonWidget con el siguiente contenido:

/**
 * Description of EBackButtonWidget
 *
 * @author Cristián Tala S.
 * @url http://cristiantala.cl
 */
class EBackButtonWidget extends CWidget {
 
    public function run() {
 
        echo CHtml::button('Volver', array(
            'name' => 'btnBack',
            'class' => 'uibutton loading confirm',
            'style' => 'width:150px;',
            'onclick' => "history.go(-1)",
                )
        );
    }
 
}

 

CHtml es un helper de Yii que nos ayuda a crear botones, links,etc de una manera más sencilla.

  1. Volver : texto que mostrará el botón.
  2. name : nombre del boton. Esto es útil por si queremos capturar la pulsación del botón.
  3. class y style : solo en caso de querer hacerlo más bonito. 
  4. onclick : aquí es cuando la magia aparece. El código javaScript history.go(-1) hace que volvamos a la página anterior.
Ok, eso es todo con el widget. Ahora simplemente para llamarlo escribimos el siguiente código en cualquier view o controlador:
$this->widget('application.ext.data.EBackButtonWidget');

Eso sería todo :)

Ojo ! que representa el path en donde se encuentra nuestro Widget.
Ojo2 ! Recuerda que el nombre de la clase debe de ser el mismo que el Archivo.

Leave a Reply

Your email address will not be published. Please enter your name, email and a comment.


four × = 20

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">