Desarrollo y Tecnología > Lenguajes de Programación > PHP > Crear un Widget en Yii + Botón Volver

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 https://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.

¡Mantengamos el contacto!

Me encantaría que te mantuvieras al día con el contenido que estoy generando. Recuerda que no es solo el blog, son las redes sociales, libros, y distintos pódcast 😎.

Hago todo lo posible para no hacer Spam,

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.