How to create a static HTML table with Tabulizer

Creating a Static Table

Build a styled table from data you type or point at, and drop the finished HTML straight into the article - where you can carry on editing it like any other content.

What “static” means here

A static table is ordinary HTML. The wizard reads your data once, applies a ruleset to it, and writes the finished <table> into the article. From that moment the table belongs to the article: you can retype a cell, add a row, bold a word, drag a column wider - everything the editor lets you do to any other table.

That is the whole appeal, and it is also the whole limitation. The table is a snapshot. If the spreadsheet it came from changes next month, the article does not notice. For data that keeps moving you want a dynamic table instead, which is Tutorial 10.

Choose static when the numbers have settled and you want to be free to fiddle with the result. Choose dynamic when the numbers change and you want to never touch the article again.

Opening the wizard

Edit any article, put the cursor where the table should go, and open CMS Content in the editor toolbar. Tabulizer is the last entry.

The CMS Content menu open in the Joomla article editor toolbar, listing Article, Contact, Field, Media, Menu, Module, Page Break, Read More and Tabulizer, with the CMS Content button visible below the open menu.

The cursor position matters. Whatever you insert lands exactly where the cursor was, so click into the paragraph you want the table to follow before opening the menu.

Step 1 - choose the mode

The wizard always opens on the same four cards. This tutorial is the first one.

Step 1 of the Tabulizer wizard, Choose Table Mode, showing four cards: New Static Table, ReTabulize Existing Table, New Dynamic Table and Existing Dynamic Table, with New Static Table selected and a Next button below.

Mode What it does
New Static Table This one. Generates the full HTML table now and inserts it.
ReTabulize Existing Table Takes a table already in the editor and rebuilds it - Tutorial 9.
New Dynamic Table Creates a data source and inserts a tag - Tutorial 10.
Existing Dynamic Table Inserts the tag of a data source you already built - Tutorial 11.

Step 2 - where the data comes from

Step 2 of the Tabulizer wizard, Select Data Source, with the heading Choose where the table data will come from and a Data Source drop-down showing Typed Text slash CSV selected.

Ten sources are offered. All but one of them are also available to a dynamic table; the exception is the first, and it is the one most people want here.

Source Use it when
Typed Text / CSV You have the numbers in your head or on a scrap of paper. Static only - there is nothing for a dynamic table to re-read.
CSV File / Excel File The data already lives in a file on the site or at a URL.
Database Query A SQL SELECT against the Joomla database or an external one.
Remote HTML Table The table exists on another web page and you want a copy of it.
Google Doc / Spreadsheet The data is kept in a shared Google sheet.
JSON File / API, XML File, RSS / Atom Feed, Google Calendar / ICS The data comes from a feed or an endpoint rather than a file.
For a static table, a file or a feed is read once, right now. Picking a remote source here is a way of fetching the data, not of staying in step with it.

Step 3 - the data itself

What this step asks for depends entirely on the source you picked. Typed Text gives you a box to paste into, and the first row becomes the header row.

Step 3 of the Tabulizer wizard, Configure Data Source, with a note explaining that the first row is used as the column header row, and a CSV Data box containing five lines of comma-separated regional figures.

Below the box sit Separator, Enclosure and Encoding. The defaults - comma, double quote, UTF-8 - are right for anything you type by hand. Change them only when you are pasting from somewhere that disagrees: semicolons are common in spreadsheets saved on European locales, and a value containing a comma has to be wrapped in the enclosure character to survive.

Ragged rows are the usual cause of a table that comes out wrong. Every line needs the same number of separators, even where cells are empty - North,,150 is three cells, North,150 is two.

Step 4 - the ruleset

This is the step that decides what the table looks like and what it can do. Pick an Archive first; the Ruleset list then fills with the rulesets inside it.

Step 4 of the Tabulizer wizard, Select Ruleset, with Archive set to Elemental 2 Blue and Ruleset set to Elemental 2 Blue Bottom Border - Top Header, each with a line of help text beneath it.

An archive is a family of rulesets that share a palette - Elemental 2 Blue, Elemental 2 Green and so on. The ruleset inside it is the specific look: where the borders go, whether the first row is a header, whether rows alternate shading.

Rulesets can also carry behaviour - sorting, filtering, paging. Those features need JavaScript to run on the front end, and in a static table they are attached to the generated HTML. If you later edit the table by hand, keep the class and id attributes intact or the behaviour stops working.

Step 5 - confirm

Step 5 of the Tabulizer wizard, Confirm and Insert, with a summary table listing Mode New Static Table, Data Source Typed Text slash CSV, Archive Elemental 2 Blue, Ruleset Elemental 2 Blue Bottom Border - Top Header and the source parameters, above a note saying the full HTML table will be generated and inserted at the cursor position, with Back, Cancel and Insert Table buttons.

The summary is worth a glance, because the two rows people get wrong are next to each other: the archive and the ruleset. There is no Data Source Title field on this step - static mode creates nothing in the Tabulizer component, so there is nothing to name.

Click Insert Table and the dialog closes.

What lands in the article

The Joomla article editor after insertion, showing a tabulizer include style marker on its own line followed by a real five-row table with Region, Q1, Q2 and Q3 columns, and a tabulizer data source tag on the line below.

Two things, in this order:

1

A stylesheet marker

A line reading {tabulizer:include style[….css] id[tab_…]}. It is not decoration - it is how the ruleset's stylesheet gets loaded for this table on the front end. Delete it and the table loses its styling.

2

The table

A real <table> you can click into and edit. It carries an id, a class naming the ruleset, and a data-ruleset attribute recording which archive and ruleset built it.

That data-ruleset attribute is what lets you come back later and restyle the table without rebuilding it from scratch. The ReTabulize mode reads it - see Tutorial 9.

Common questions

Can I edit the table afterwards?

Yes - that is the point of this mode. It is ordinary HTML in your article. Add rows, change numbers, apply bold, use the editor's own Table menu.

Will my edits survive?

Until you reTabulize that table, yes. ReTabulize regenerates it, so hand edits to formatting are lost - though the cell contents are carried across and offered back to you for editing.

Did this create a data source?

No. Nothing appears under Components › Tabulizer › Data Sources. Static mode generates HTML and stops.

The table looks unstyled on the front end.

The include marker was deleted, or the table's class attribute was stripped - some editors and some paste operations do that. Reinsert, or use ReTabulize to rebuild it.

Sorting and searching do not work.

Either the ruleset does not provide them, or the table's id has been changed or duplicated. Two tables on one page must not share an id.

My data changes every week.

Then this is the wrong mode. A dynamic table re-reads its source on every page view - Tutorial 10.

Try it on an article

Open any article, place the cursor, and choose CMS Content › Tabulizer › New Static Table.

Back to the Knowledge Base