Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

ConferenceSites

Coloring Talks by Types

The CSS classes for each cell in the grid (or for each talk slot) has two proprieties the type and the category. If either of these are missing the css class will be 'generic'. So for example if a talk is of type short and in the category of runtime the css call will be class='short runtime'. Edit the current CSS file to color the cell based on which attribute you want to control the color (type or category).

You may need to either inspect the source or use FireBug to find exactly how the category/type is being rendered in the HTML. Currently the category is being cleaned of some odd characters in the 'commons/classes/Cell2.class.php' file (line 49):

  $this->data->category = preg_replace("/\.|\(|\)|\/|\&|\#/","",$category);

This cleaning is being done to remove character that will cause errors with CSS. For example ESE2010 has one category that is eclipse4.0(e4), but the class defined in the HTML is this class='eclipse40e4'.

NOTE: the code for ESE2010 was updated to allow the category to be passed along from the session to a cell. this is not true of the ECON2010 code.

Rendering the Grid

The rendering of the grid layout is handled by the code within the separate projects called 'commons' (note this is also a directory with the conference web site project called 'commons' this is no the same code). To figure out which version of the rendering code you are going to need to look at check within the conference web site 'table' directory. You will be looking for something like this:

  require_once(_SITE_ROOT . "../commons/classes/TableLayouter3.class.php");
  require_once(_SITE_ROOT . "../commons/classes/HTMLTableWriterHorizontal3.class.php");

These files are were the rendering of the table take place.

Follow the route from database to cell

The data for a session is retrieved from the in the conference object as a set of 'sessions' objects. The 'sessions' objects are then looped over in the table_content_XXX.php file and turned into 'item' objects. These 'item' objects are then passed to TableLayouter. In the TableLayouter class the 'item' objects are then turned into 'cell' objects. To figure out which cell file to look into check the 'TableLayouter' you are using to see which 'Table' file you are including, in the 'Table' file you will find the includes for the 'cell' file. The cells are the objects that actually get rendered into HTML.

One thing to note is the columns and rows that the 'TableLayouter' uses for rendering have separate copies of the cell which they are laying out. The cells get copied to other cells to fill the grid. For example if a cell is to take up the full row the cell will be copied N times to fill the row, same if a cell is to span one of more colums.

The grid that dictates how the cells are merged and arranged is rather complex and it seems better to inspect the code than try and detail it all here.

Back to the top