Structured Data Fields - Structured Table

Skip to end of metadata
Go to start of metadata

Structured Table

Similar to the table widget, the structured table can hold structured data. But there are a few fundamental differences:

  • The rows and columns are predefined and named.
  • The data type per column can be defined. Possible data types are text, number and boolean.
  • The data of a structured table can be accessed via getters and setters and is stored in a structured way in the database.

An example of a structured table in the object editor is shown below:

The definition in the class definition of the table above would look like:

Via code, the data of this field can be accessed as shown in the following code snippets:


$structuedData = $object->getExample();

//Delivers an Object_Data_StructuredTable object with an associated array for the rows and columns
p_r($structuedData);

//Delivers an associated array of row CommunityEdition with all columns
p_r($structuedData->getCommunityedition());

//Delivers an associated array of row CommunityEdition with all columns
p_r($structuedData->getCommunityedition__support());

//Delivers an associated array of row CommunityEdition with all columns
p_r($structuedData->setCommunityedition__support("Forum"));


//Alternave way of setting data to a structured table
$data = array();
$data['communityedition']['opensource'] = true;
$structuedData->setData($data);

Based on the definition of above, following database columns are generated (FIELDNAME__ROWNAME#COLUMNNAME):

example__CommunityEdition#OpenSource
example__CommunityEdition#Price
example__CommunityEdition#Support
example__EnterpriceEdition#OpenSource
example__EnterpriceEdition#Price
example__EnterpriceEdition#Support
example__StandardEdition#OpenSource
example__StandardEdition#Price
example__StandardEdition#Support

Within these columns the data is stored. Because of that, queries can be executed on each cell of the structured table.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.