pub;
// expand the pub to include the properties.
$options = array(
'return_array' => 1,
'order_by' => array('rank' => 'ASC'),
);
$pub = chado_expand_var($pub,'table', 'pubprop', $options);
$pubprops = $pub->pubprop;
$properties = array();
if (is_array($pubprops)) {
foreach ($pubprops as $property) {
// skip the following properties as those are already on other templates
if ($property->type_id->name == 'Abstract' or
$property->type_id->name == 'Citation' or
$property->type_id->name == 'Publication Dbxref' or
$property->type_id->name == 'Authors' or
$property->type_id->name == 'Structured Abstract Part') {
continue;
}
$property = chado_expand_var($property,'field','pubprop.value');
$properties[] = $property;
}
}
// we'll keep track of the keywords so we can lump them into a single row
$keywords = array();
if (count($properties)) { ?>
Additional details for this publication include:
type_id->name == 'Keywords') {
$keywords[] = $property->value;
continue;
}
$rows[] = array(
$property->type_id->name,
$property->value
);
}
// now add in a single row for all keywords
if (count($keywords) > 0) {
$rows[] = array(
'Keywords',
implode(', ', $keywords),
);
}
// the $table array contains the headers and rows array as well as other
// options for controlling the display of the table. Additional
// documentation can be found here:
// https://api.drupal.org/api/drupal/includes%21theme.inc/function/theme_table/7
$table = array(
'header' => $headers,
'rows' => $rows,
'attributes' => array(
'id' => 'tripal_pub-table-properties',
'class' => 'tripal-data-table'
),
'sticky' => FALSE,
'caption' => '',
'colgroups' => array(),
'empty' => '',
);
// once we have our table array structure defined, we call Drupal's theme_table()
// function to generate the table.
print theme_table($table);
}