SideBar

dla autor贸w (艣rednio zaawansowanych)

S膮 cztery dyrektywy tabel. Wszystkie musz膮 si臋 zaczyna膰 od pocz膮tku linii, 偶eby zadzia艂a艂y.

(:table (attr...):)

Tworzy now膮 tabel臋 - znacznik HTML <table> - z atrybutami podanymi w attr.... Zamyka (ko艅czy) poprzedni膮 tabel臋, je艣li jaka艣 by艂a zacz臋ta (nie ma tabeli w tabeli, chyba 偶e prosta w zaawansowanej). Poprawne atrybuty i warto艣ci to:

  • border (szeroko艣膰 obramowania tabeli; liczba ca艂kowita >=0)
  • bordercolor (kolor obramowania; nazwa koloru, albo liczba szesnastkowa (hex); nie ka偶da przegl膮darka pokazuje)
  • cellspacing (odst臋p mi臋dzy kom贸rkami; liczba ca艂kowita >=0)
  • cellpadding (marginesy w kom贸rkach; liczba ca艂kowita >=0)
  • width (szeroko艣膰 tabeli; liczba ca艂kowita >0, albo w %)
  • bgcolor (kolor t艂a; nazwa koloru, albo liczba szesnastkowa)
  • align (left, center, right - wyr贸wnanie: do lewej, centrowanie, do prawej)
  • summary (podsumowanie; nie wy艣wietla si臋; pomoc w nawigacji dla niewidomych)

(:cell (attr...):)

Tworzy now膮 kom贸rk臋 tabeli z atrybutami podanymi w attr.... Zamyka poprzedni膮 kom贸rk臋, je艣li jaka艣 by艂a zacz臋ta. Kontynuuje rz膮d. W HTML-u to tworzy nowy znacznik "<td attr>" (i jak trzeba, znaczniki <table>, <tr> i </td>).

Uwaga: Umieszczenie spacji po znaczniku kom贸rki: "(:cell:) " powoduje, 偶e tekst w danej linii b臋dzie potraktowany jako preformatowany.

Poprawne atrybuty i warto艣ci to:

  • align (left, center, right - wyr贸wnanie: do lewej, centrowanie, do prawej)
  • valign (top, middle or bottom - wyr贸wnanie w pionie: do g贸ry, centrowanie, do do艂u) - zobacz informacj臋 o tym atrybucie poni偶ej
  • colspan (rozci膮gni臋cie kom贸rki na wiele kolumn; ilo艣膰 kolumn)
  • rowspan (rozci膮gni臋cie kom贸rki na wiele rz臋d贸w; ilo艣膰 rz臋d贸w)
  • bgcolor (kolor t艂a; nazwa koloru, albo liczba szesnastkowa)
  • width (szeroko艣膰 kom贸rki; liczba ca艂kowita >0, albo w %)

(:cellnr (attr..):)

Tworzy now膮 kom贸rk臋 tabeli od pocz膮tku nast臋pnego rz臋du. Zamyka poprzedni膮 kom贸rk臋, je艣li jaka艣 by艂a zacz臋ta. W HTML-u to tworzy znaczniki "<tr><td attr>" (i jak trzeba, znaczniki <table>, </td> i </tr>). Atrybuty i warto艣ci s膮 takie same jak dla (:cell:).

(:tableend:)

Zamyka ostatni膮 kom贸rk臋 tabeli, i tabel臋 (jak trzeba, tworzy znaczniki /td>, </tr> i </table>).

* Informacja o atrybucie valign

Je艣li nie jest wcze艣niej ustawiony, PmWiki automatycznie doda atrybut valign='top' do ka偶dej kom贸rki tabeli. PM stwierdzi艂 "Dyrektywy tabel s膮 w celu rozmieszczania i w tym przypadku najwi臋kszy sens ma, by ka偶da kom贸rka (kolumna) mia艂a zawarto艣膰 od g贸ry rz臋du". Ten atrybut jest umieszczany w ka偶dej celi, a nie w znaczniku <tr>, bo pewne przegl膮darki nie rozpoznaj膮 valign='top' w znaczniku <tr>.

Uwagi:

W znacznikach 'table', 'cell' i 'cellnr' autor mo偶e poda膰 dowolne atrybuty, kt贸re by艂yby poprawne w znacznikach HTML <table> b膮d藕 <td>. Mo偶na wi臋c podawa膰 atrybuty rowspan, colspan, itd., aby tworzy膰 dowolne tabele. Jednak nie jest mo偶liwe zagnie偶d偶anie (:table:) wewn膮trz (:cell:), czy (:cellnr:) -- nast臋pny paragraf wyja艣nia, dlaczego.

Wielu by ch臋tnie zapyta艂o, dlaczego nie u偶ywamy po prostu standardowych znacznik贸w HTML (<table>, <tr>, <td>, <th>), zamiast tworzy膰 nowe, co by pozwoli艂o na zagnie偶d偶one tabele. S膮 dwie odpowiedzi: po pierwsze, znaczniki tabel w HTML-u wygl膮daj膮 gro藕nie dla naiwnych autor贸w (zobacz PmWiki.Audiences i PmWikiPhilosophy? #2); i po drugie, by艂oby bardzo 艂atwo utworzy膰 b艂臋dn膮 tabel臋, kt贸r膮 jakie艣 przegl膮darki pokazywa艂yby nie tak, jak si臋 chce. Nawet do艣wiadczeni zawodowi tw贸rcy stron WWW czasem pisz膮 b艂臋dne znaczniki tabel, wi臋c to troch臋 nierealistyczne, by oczekiwa膰, 偶e przeci臋tny autor zawsze napisze dobrze, albo b臋dzie w stanie przeczyta膰 dowolne znaczniki tabel, kt贸re napisa艂 kto艣 inny.

Powszechny komentarz: Z pewno艣ci膮, przeci臋tny czy naiwny autor nie pisa艂by wprost w HTML-u, lecz u偶ywa艂by narz臋dzia takiego jak FrontPage, czy nawet MSWord, by tworzy膰 HTML. To by艂oby o wiele prostsze, ni偶 uczenie si臋 nawet najprostszych znacznik贸w PmWiki.
Odpowied藕 PM: I skoro ten HTML by艂by utworzony i wys艂any, jak ktokolwiek inny mia艂by edytowa膰 t臋 tabel臋, je艣li nie mia艂 by oryginalnego pliku FrontPage-u, czy MSWord-a u偶ytego, by j膮 utworzy膰? Pami臋tajmy, 偶e m贸wimy o wsp贸lnym autorstwie. HTML tworzony przez te pakiety jest jednym z naci臋偶szych do czytania i edycji!

Trudno jest napisa膰 kod potrzebny do tego, by PmWiki rozumia艂o i poprawia艂o dowolne znaczniki tabel, wi臋c u偶ywa ono tej uproszczonej wersji. Wci膮偶, ta wersja jest w stanie zaj膮膰 si臋 wi臋kszo艣ci膮 wymaga艅 co do tabel (mo偶e z wyj膮tkiem zagnie偶d偶onych tabel).

I, nie jest powiedziane, 偶e zagnie偶d偶one tabele s膮 w PmWiki niemo偶liwe - one tylko nie mog膮 by膰 艂atwo tworzone przez autor贸w przy u偶yciu zwyk艂ych znacznik贸w. Administrator mo偶e oczywi艣cie utworzy膰 kod HTML do nag艂贸wka/stopki strony, i inne lokalne dostosowania? u偶ywaj膮ce zagnie偶d偶onych tabel.

Przyk艂ad 1. Tabela u偶ywaj膮ca dyrektyw.

"&nbsp;" jest niedziel膮c膮 spacj膮 w HTML-u. Umie艣膰 j膮 w kom贸rce, je艣li ma by膰 pusta - inaczej obramowanie tej kom贸rki nie narysuje si臋 poprawnie.

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

W HTML-u, to jest to samo, co

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

Op艂ywana tabela z wypunktowan膮 list膮 do nawigacji

Co je艣li chcesz utworzy膰 tak膮 mi艂膮 tabelk臋, jak tabela zawarto艣ci strony podobna do tej? W tym przyk艂adzie, tabela jest z prawej strony, i zawiera kilka link贸w w wypunktowanej li艣cie. To jest mi艂y pokaz, jak to jest mo偶liwe, by zbudowa膰 tabliczk臋 zawarto艣ci strony, kt贸ra mo偶e odsy艂a膰 do innych stron akurat w tej samej grupie wiki. Zauwa偶, 偶e wypunktowana lista nie b臋dzie dzia艂a膰 w zwyk艂ej tabeli - dzia艂a tylko w tabeli utworzonej dyrektywami takimi, jak w u偶ytym tutaj przyk艂adowym kodzie.

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr:)
'''Navigation Links'''
(:cellnr:)
*[[Tabele]]
*[[Dyrektywy tabel]]
(:tableend:)

Navigation Links

(:table border=1 width=30% align=right bgcolor=#cccc99 cellspacing=0 :)
(:cellnr colspan=2 align=center:)
'''Navigation Links'''
(:cellnr align=center:)
[[Tabele]]
(:cell align=center:)
[[Dyrektywy tabel]]
(:tableend:)

Navigation Links

Tabele

Dyrektywy tabel

Patrz膮c na te znaczniki, zauwa偶 偶e u偶yli艣my koloru #cccc99 jako t艂a tabeli. Ponadto, znacznik (:cellnr:) tworzy nowy rz膮d, now膮 kom贸rk臋, i zamyka poprzedni rz膮d.

Mo偶esz z t膮 koncepcj膮 p贸j艣膰 nieco dalej: skoro mo偶esz zechcie膰, by ka偶da strona w grupie zawiera艂a t臋 sama tabel臋 zawarto艣ci, mo偶esz zrobi膰 JEDN膭 tabel臋 tak膮, jak powy偶ej, i umie艣ci膰 j膮 na jej w艂asnej stronie. Nast臋pnie u偶y膰 znacznika include ? na dowolnej ze swoich stron, i dosta膰 t臋 tabel臋. W艂a艣ciwo艣膰 op艂ywania b臋dzie honorowana na ka偶dej stronie, kt贸ra j膮 do艂膮czy.

<< | Documentation Index? | >>

Czy mog臋 zdefiniowa膰 nag艂贸wki tabeli u偶ywaj膮c dyrektyw tabel?

Nie, ale mo偶esz z Cookbook:AdvancedTableDirectives. Zobacz odpowied藕 PM do PITS:00535.

Czy mo偶na zrobi膰 zagnie偶d偶one tabele?

Tak, je艣li zagnie偶d偶asz proste tabele wewn膮trz zaawansowanych. Zobacz jeszcze Cookbook:AdvancedTableDirectives.

Czy mo偶na doda膰 obrazki jako t艂o tabeli i jej kom贸rek?

Tak, zobacz Cookbook:BackgroundImages.

(nie przet艂umaczone, i bez odpowiedzi) Is it possible to have a collapsible table, that you can set by default to be deployed (as with the (:toc:) display) or retracted?