Directives per a taules

autores (intermedi)

Hi ha sis directives per al processament de taules. Totes han d'estar a principi de línia per a funcionar.

(:table [attr...]:)

Genera una nova etiqueta HTML <table> amb els atributs passats mitjançant attr.... Tanca la taula prèvia, si existeix. Són vàlids els atributs i els valors:

  • border (un enter positiu)
  • bordercolor (el nom d'un color (en anglès) o un nombre hexadecimal; no es mostra a tots els navegadors)
  • cellspacing (un enter positiu que indica el espai entre cel·les)
  • cellpadding (un enter positiu que indica la vora interior d'una cel·la)
  • width (un enter positiu o un percentatge)
  • bgcolor (el nom d'un color (en anglès) o un nombre hexadecimal)
  • align ("left" (esquerra), "center" (centre) o "right" (dreta))
  • summary (no es mostra; s'usa principalment per ajudar a navegar a gent amb discapacitat visual)

(:cellnr [attr...]:), (:cell [attr...]:), (:headnr [attr...]:), (:head [attr...]:)

  • La directiva (:head:) obre una nova "cel·la d'encapçalament" de la taula (crea una etiqueta <th> en HTML).
  • La directiva (:cell:) obre una nova "cel·la normal" de la taula (crea una etiqueta <td> en HTML).
  • Les directives (:headnr:) i (:cellnr:) obren una nova cel·la amb una fila nova a la taula.

Aquestes directives tanquen qualsevol cel·la i/o fila prèvies. Les directives (:head:) i (:headnr:) estan disponibles des de la versió 2.2.11 i posteriors de PmWiki.

Són atributs i valors vàlids:

  • align ("left" (esquerra), "center" (centre) o "right" (dreta))
  • valign ("top" (a dalt), "middle" (en mig) o "bottom" (a baix)) * el valor per defecte és "top", vegeu la nota més abaix
  • colspan (un enter positiu)
  • rowspan (un enter positiu)
  • bgcolor (el nom d'un color (en anglès) o un nombre hexadecimal)
  • width (un enter positiu o un percentatge)
  • class (una classe CSS)
  • style (un estil CSS personalitzat)

(:tableend:)

Tanca la cel·la de la taula prèvia i finalitza qualsevol taula oberta. Genera les etiquetes </th>, </td>, </tr>, i </table> segons sigui necessàri.

* L'atribut valign

Si encara no s'ha definit, PmWiki inclourà automàticament l'atribut valign='top' a totes les (:cell[nr]:) i (:head[nr]:). Açò és així perquè "les directives per a taules es van crear per ajudar amb la distribució i l'aspecte, i per això té més sentit tenir el contingut de cada cel·la (columna) a la part de dalt de la fila. Es defineix l'atribut per a cada cel·la i no pas per a la fila perquè alguns navegadors no reconeixen valign='top' per a la fila" (Pm).

Notes

Per a les directives table, cell, i cellnr hom pot especificar qualsevol atribut que seria vàlid per a les etiquetes HTML <table> o <td>. Per tant es poden especificar arguments com rowspan, colspan, etc. per a generar taules. Tanmateix, no és possible niuar (:table:) a dintre (:cell:) o (:cellnr:) -- al pròxim paràgraf s'explica.

Molta gent es pregunta perquè en lloc de crear un nou llenguatge de marques, no hem fet servir l'etiquetatge HTML estàndard per a fer taules (<table>, <tr>, <td>, <th>), permetent així niuar taules. Hi ha dos raons: primera, l'HTML estàndard ens sembla lleig i difícil per a autores novelles (vegeu Audiences? i La Filosofia de PmWiki #2); en segon lloc, seria molt fàcil que les autores creessin taules HTML incorrectes, provocant que es veiessin incorrectament amb alguns navegadors (o que no fins i tot no es veiessin). De vegades fins i tot els professionals del web fiquen la pota amb l'etiquetatge, així que és poc realista esperar que l'autora amb coneixements intermedis ho faci sempre bé, o sigui capaç de llegir amb claredat les taules HTML que ha creat altra gent.

Comentari comú: Sí, segur que les usuaris amb coneixements intermedis no escriuran HTML directament, però poden fer servir un programa com FrontPage, o fins i tot MSWord, per a generar l'HTML. Això seria encara més senzill que aprendre les més simples de les marques del PmWiki.
Resposta de Pm: I un cop s'ha generat l'HTML i s'ha enviat, com s'ho faran els altres per a editar i modificar la taula si no tenen el fitxer original de FrontPage o MSWord que s'ha usat? Recordeu que estem parlant d'autoria col·laborativa. L'HTML generat per aquests programés sol ser prou difícil de llegir!

És difícil programar PmWiki per a que corregeixi taules arbitraries, per això PmWiki usa la versió simplificada de dalt. Encara així, aquesta versió és capaç de gestionar la majoria de requeriments de les taules (sent el niuament de taules l'excepció més destacable).

El niuament de taules és impossible amb PmWiki --no hi ha un mode senzill de que les autores puguen fer-ho amb les marques proporcionades per defecte. Un administrador/a pot, òbviament, crear codi HTML a les capçaleres/peus i fer altres personalitzacions? que facin ús de taules niuades.

Exemple 1. Una taula amb directives.

"&nbsp;" és en HTML un espai sense salt de línia (non-breaking space). L'haureu de col·locar a aquelles cel·les que no tinguen contingut si voleu que la vora de la cel·la es mostri correctament.

(:table border=1 cellpadding=5 cellspacing=0:)
(:head:) a1
(:cell:) b1
(:cell:) c1
(:cell:) d1
(:headnr:) a2
(:cell:) b2
(:cell:) c2
(:cell:) &nbsp;
(:tableend:)
a1 b1 c1 d1
a2 b2 c2  

Això és el mateix que el següent codi HTML:

<table border='1' cellpadding='5' cellspacing='0'>
  <tr>
    <th>a1</th>
    <td>b1</td>
    <td>c1</td>
    <td>d1</td>
  </tr>
  <tr>
    <th>a2</th>
    <td>b2</td>
    <td>c2</td>
    <td>&nbsp;</td>
  </tr>
</table>

Una taula flotant amb una llista de pics per navegar

I si voleu crear una xicoteta taula de l'estil "taula de continguts" com aquesta? A l'exemple, la taula flota a la dreta i conté alguns enllaços a una llista de pics. És una demostració de com és possible fer una xicoteta taula de continguts per a una pàgina, que pot enllaçar amb altres pàgines del mateix grup. Cal que noteu que una llista de pics no funciona a dintre d'una taula normal - només funciona a dintre d'una taula creada amb la directiva per a taules com a l'exemple que mostrem ací.

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr:)
'''Enllaços de navegació'''
(:cellnr:)
*[[Tables|+]]
*[[Table directives|+]]
(:tableend:)

Enllaços de navegació

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr colspan=2 align=center:)
'''Enllaços de navegació'''
(:cellnr align=center:)
[[Tables|+]]
(:cell align=center:)
[[Table directives|+]]
(:tableend:)

Enllaços de navegació

Taules

Directives per a taules

En mirar el codi, fixeu-vos que hem usat el color hexadecimal #cccc99 per al fons. Noteu també que la directiva (:cellnr:) crea una nova fila, una nova cel·la i al final tanca la fila.

Podríeu portar aquest exemple un poc més lluny: tal volta voleu que cada pàgina del grup contingui la mateixa taula de continguts, si és així podeu fer una única taula i col·locar-la en la seua pròpia pàgina. Després usar la capacitat per incloure altres pàgines per a incloure-la. La propietat float (en altres paraules, l'alineament) es mantindrà per a totes les pàgines on s'inclogui.

Puc definir encapçalaments de taula usant la directiva per a taules?

Sí, des de la versió 2.2.11 o posterior de PmWiki. Vegeu també Cookbook:AdvancedTableDirectives.

És possible niuar taules?

Sí, si niueu taules simples a dintre de taules avançades. Vegeu també Cookbook:AdvancedTableDirectives.

És possible afegir imatges de fons a les taules o les cel·les?

Sí, vegeu Cookbook:BackgroundImages.

És possible aplicar estils als elements d'una taula, com ara bé un ID a la fila, o una classe/estil a la TD?

Sí, vegeu $WikiStyleApply.



Traducció de PmWiki.TableDirectives - Pàgina original a PmWikiCa.TableDirectives - Retroenllaços