jueves, 17 de mayo de 2007

Manual weblib.php

Este manual es una ayuda para que los desarrolladores del DFWikiTeam puedan utilizar el weblib.php. Este fichero complementa al weblib de moodle y actúa como capa de presentación. Contiene una serie de funciones para crear las diferentes etiquetas de HTML que utilizamos.

Puntos importantes para la utilización de weblib.php:


  • CUMPLE XHTML STRICT
Todas las funciones contienen únicamente aquellos atributos de los tags que se utilizan para el desarrollo de la nwiki y siguen el XHTML Strict. De este modo conseguimos que las etiquetas creadas con la utilización de este fichero cumplan el estándar.

La mayoría de las propiedades de estilo que no cumplan el estándar se pueden definir en el class o style. Estos atributos están contenidos en todas las etiquetas. Su función es la de asignar al tag un formato o estilo, cumpliendo las normas de XHTML Strict. Este formato puede estar definido en una hoja de estilo (css), y por lo tanto utilizaríamos el atributo class para asignarle la clase ya definida, o mediante el style, en caso de que no este declarado.

Ejemplo:
$propiedades->style = 'width:1%;white-space:nowrap';
wiki_change_column($propiedades);
sería
</td> <td style="width:1%;white-space:nowrap">


  • CREACIÓN DE TAGS
Para la creación de tags, todas las funciones siguen la misma estructura. En estas se abre y se cierra la etiqueta html, añadiendo las propiedades necesarias (Exceptuando algunas que se detallaran más adelante)

Todas las funciones siguen también un mismo patrón para el orden de sus parámetros:


    • PARÁMETRO $INFO
Si la etiqueta tiene información entre la apertura y cierre de ésta, la función tendrá un primer parámetro ($info), que contendrá dicha información. A excepción de las tablas y listas, que se explicarán más adelante.


    • PARÁMETRO $PROPERT
El parámetro $propert es un objeto que contiene las diferentes propiedades asociadas a las etiquetas creadas.

Ejemplo de asignación de propiedades a una etiqueta:
$propert->src="image.gif";
$propert->alt="imagen";
wiki_img($propert);
Sería:
<img src="image.gif" alt="imagen">

Los eventos se ubicarán también dentro del objeto. Éstos se escribirán como un string y contendrán los diferentes tipos de eventos y su función. Por ejemplo: $propert->events = 'onfocus="this.select()" onchange="updateMembers(this)" '

    • PARÁMETRO $RETURN
Todas las funciones tienen como último parámetro la variable $return, inicializada por defecto a false.

En caso de ser false, la función escribiría el tag directamente. Y si lo cambiásemos a true, la función retornaría una variable con la etiqueta.


  • EXCEPCIONES
La creación de algunos tags no siguen las normas explicadas anteriormente.

Estas excepciones son:


    • Creación de Form y Div
Debido a la longitud del parámetro $info en algunos ejemplos de FORM y DIV, hemos visto conveniente realizar una segunda función, que a diferencia de la primera, no realiza el cierre de la etiqueta, y por lo tanto, no recibe como parámetro $info. Añadiendo además sus respectivas funciones de cierre, independientes de las anteriores.

Con esto conseguimos más claridad en el código y un manejo más sencillo de las funciones.


    • Creación de tablas
Para la creación de tablas tenemos varias funciones:

wiki_table_start($propert, $return=false)
Inicia tabla, fila y columna, con las respectivas propiedades. El atributo $propert contiene los atributos de la tabla y los de la primera columna creada (los atributos de la columna estarán identificados por un "td" final, por ejemplo $propert->aligntd)

wiki_table_end($return=false)
Cierra una columna, fila y tabla.

wiki_change_column($propert, $return=false)
Cierra columna e inicia una nueva con las propiedades correspondientes.

wiki_change_row($propert, $return=false)
Cierra columna y fila e inicia una nueva fila y una columna con las propiedades correspondientes.

Ejemplo:
$propert->border = '0';
$propert->width = '100%';
$propert->aligntd = 'right';
wiki_table_start($propert);
echo '1';
wiki_change_row();
echo '2';
wiki_table_end();
sería
<table width="100%" border="0">
<tr><td align="right">
1
</td></tr><tr><td>
2
</td></tr>
</table>


    • Creación de listas
Para crear las listas tenemos varias funciones que siguen la misma mecánica que las utilizadas para la creación de tablas.

wiki_start_ul($propert, $return=false)
Inicia una lista no ordenada y el primer ítem

wiki_end_ul($return=false)
Cierra el último ítem y la lista no ordenada

wiki_change_li($propert, $return=false)
Cambio de ítem

Para las listas ordenadas las funciones son iguales.