public function sio__references_formatter::view
3.x sio__references_formatter.inc | public sio__references_formatter::view(&$element, $entity_type, $entity, $langcode, $items, $display) |
Overrides TripalFieldFormatter::view
See also
File
- tripal_chado/
includes/ TripalFields/ sio__references/ sio__references_formatter.inc, line 14
Class
Code
public function view(&$element, $entity_type, $entity, $langcode, $items, $display) {
$field_name = $this->field['field_name'];
$chado_table = $this->instance['settings']['chado_table'];
// First, organize the values by their types.
$ordered_items = array();
foreach ($items as $delta => $item) {
$type = isset($item['value']['rdfs:type']) ? $item['value']['rdfs:type'] : '';
$entity = isset($item['value']['entity']) ? $item['value']['entity'] : '';
$name = isset($item['value']['schema:name']) ? $item['value']['schema:name'] : '';
$identifier = isset($item['value']['data:0842']) ? $item['value']['data:0842'] : '';
if ($entity) {
list($entity_type, $entity_id) = explode(':', $entity);
$name = l(strip_tags($name), 'bio_data/' . $entity_id);
}
$ordered_items[ucfirst($type)][] = $name;
}
// Reorder the list so it's compatible with theming a list.
$list_items = array();
$headers = array();
$rows = array();
ksort($ordered_items);
foreach ($ordered_items as $type => $children) {
$rows[] = array(
array(
'data' => ucfirst($type) . '(s)',
'header' => TRUE,
'width' => '20%',
),
theme_item_list(array(
'items' => $children,
'title' => '',
'type' => 'ul',
'attributes' => array(),
)),
);
}
$table = array(
'header' => array(),
'rows' => $rows,
'attributes' => array(
'id' => 'sio__references-table',
'class' => 'tripal-data-table'
),
'sticky' => FALSE,
'caption' => "",
'colgroups' => array(),
'empty' => 'There are no records in this site to which this publiation refers.',
);
$content = theme_table($table);
$element[0] = array(
'#type' => 'markup',
'#markup' => $content,
);
}