-
Notifications
You must be signed in to change notification settings - Fork 26
dokuwiki api tables
This section describes creation of tables.
These are the basic table functions with a predefined style. These are also called for basic DokuWiki rendering and therefore the function declarations need to match the class Doku_Renderer.
The function opens a table. $maxcols specifies the number of columns. Parameters $numrows and $pos are unused.
The function closes a table. Parameter $pos is unused.
The function opens a new table row.
The function closes a table row.
The function opens a new table header cell. The cell will span $colspan columns and $rowspan rows. The content in the cell will be aligned according to $align ('left', 'center' or 'right').
The function closes a table header cell.
The function opens a new table cell. The cell will span $colspan columns and $rowspan rows. The content in the cell will be aligned according to $align ('left', 'center' or 'right').
The function closes a table header cell.
The following code:
$renderer->table_open(2);
$renderer->tablerow_open(1);
$renderer->tablecell_open();
$renderer->cdata('Cell 1/1');
$renderer->tablecell_close();
$renderer->tablecell_open();
$renderer->cdata('Cell 1/2');
$renderer->tablecell_close();
$renderer->tablerow_close(1);
$renderer->tablerow_open(1);
$renderer->tablecell_open();
$renderer->cdata('Cell 2/1');
$renderer->tablecell_close();
$renderer->tablecell_open();
$renderer->cdata('Cell 2/2');
$renderer->tablecell_close();
$renderer->tablerow_close(1);
$renderer->table_close();
generates a table with 2 columns and 2 rows.
The following code:
$renderer->table_open(2);
$renderer->tablerow_open(1);
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/1');
$renderer->tableheader_close();
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/2');
$renderer->tableheader_close();
$renderer->tablerow_close(1);
$renderer->tablerow_open(1);
$renderer->tablecell_open();
$renderer->cdata('Cell 2/1');
$renderer->tablecell_close();
$renderer->tablecell_open();
$renderer->cdata('Cell 2/2');
$renderer->tablecell_close();
$renderer->tablerow_close(1);
$renderer->table_close();
also generates a table with 2 columns and 2 rows but the first row is the table header.
The following code:
$renderer->table_open(2);
$renderer->tablerow_open(1);
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/1');
$renderer->tableheader_close();
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/2');
$renderer->tableheader_close();
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/3');
$renderer->tableheader_close();
$renderer->tablerow_close(1);
$renderer->tablerow_open(1);
$renderer->tablecell_open();
$renderer->cdata('Cell 2/1');
$renderer->tablecell_close();
$renderer->tablecell_open();
$renderer->cdata('Cell 2/2');
$renderer->tablecell_close();
$renderer->tablecell_open();
$renderer->cdata('Cell 2/3');
$renderer->tablecell_close();
$renderer->tablerow_close(1);
$renderer->table_close();
generates a table with 3 columns and 2 rows. Please notice the opening of the table: $renderer->table_open(2);. The table was opened declaring only 2 columns but all 3 columns are rendered beautifully. This will not work with older versions of the ODT plugin.
The following code:
$renderer->table_open(3);
$renderer->tablerow_open(1);
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/1');
$renderer->tableheader_close();
$renderer->tableheader_open();
$renderer->cdata('Header cell 1/2');
$renderer->tableheader_close();
$renderer->tablerow_close(1);
$renderer->tablerow_open(1);
$renderer->tablecell_open();
$renderer->cdata('Cell 2/1');
$renderer->tablecell_close();
$renderer->tablecell_open();
$renderer->cdata('Cell 2/2');
$renderer->tablecell_close();
$renderer->tablerow_close(1);
$renderer->table_close();
generates a table with 3 columns and 2 rows. Please notice the opening of the table: $renderer->table_open(3);. The table was opened declaring 3 columns but only 2 are filled with content. The 2 columns will be displayed but will only span 2/3 of the total page width.