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.com
*/
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.
- Volver : texto que mostrará el botón.
- name : nombre del boton. Esto es útil por si queremos capturar la pulsación del botón.
- class y style : solo en caso de querer hacerlo más bonito.
- onclick : aquí es cuando la magia aparece. El código javaScript history.go(-1) hace que volvamos a la página anterior.
$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.