Capítulo 6. Creando mis widgets

Seguramente te preguntarás: "¿Cómo creo un widget?". En la siguiente sección veremos un widget simple.

6.1. Widget Simple

Veamos un ejemplo inicial donde sólo hay que mostrar un poco de HTML:

          class NOMBRE extends BifWidget {
            function NOMBRE ($attrs = array()) {
              $this->BifWidget($attrs);
            }
          }
        
Y además tiene que existir un archivo llamado skins/NombreSkin/NOMBRE.tpl con el contenido HTML a mostrar, ejemplo:
          <DIV color="green">Hola!</DIV><BR><BR>
          <DIV color="black">Este es mi primer widget.</DIV>
        
Desde nuestro archivo index.php podemos ejecutar:
          <?php
          $w =& new NOMBRE;
          $w->draw();
          ?>
        
Ahora vamos a agregar un poco de dificultad. Digamos que quiero que aparezca la fecha en mi widget entonces debemos incorporar la función innerDraw(). Primero vamos a cambiar el contenido del archivo NOMBRE.tpl:
          <DIV color="green">Hola!</DIV><BR><BR>
          <DIV color="black">El día {DATE} escribí mi primer
widget.</DIV>
        
Y tendríamos que escribir el widget de la siguiente manera:
          class NOMBRE extends BifWidget {
            function NOMBRE ($attrs = array()) {
              $this->BifWidget($attrs);
            }

            function innerDraw() {
              $this->attributes["DATE"] = "5 de Julio de 2003";
              $this->RAWfields = array("DATE");
              $this->parseStructures();
            }
          }
        
La función innerDraw() está diseñada principalmente para cambiar las variables de BifWidget: RAWfields y HTMLfields y luego llamar a parseStructures(). Estos detalles no son importantes para el recién iniciado en BIF, de todas formas quienes sientan la curiosidad de saber más, el archivo Widgets/Base/widget.BifWidget.php contiene todo.