class schema__publication_formatter
Hierarchy
- class \TripalFieldFormatter
- class \ChadoFieldFormatter
Expanded class hierarchy of schema__publication_formatter
2 string references to 'schema__publication_formatter'
- schema__publication.inc in tripal_chado/
includes/ TripalFields/ schema__publication/ schema__publication.inc - tripal_chado_bundle_instances_info_linker in tripal_chado/
includes/ tripal_chado.fields.inc
File
- tripal_chado/
includes/ TripalFields/ schema__publication/ schema__publication_formatter.inc, line 3
View source
class schema__publication_formatter extends ChadoFieldFormatter {
// The default lable for this field.
public static $default_label = 'Publication';
// The list of field types for which this formatter is appropriate.
public static $field_types = array('schema__publication');
/**
*
* @see TripalFieldFormatter::view()
*/
public function view(&$element, $entity_type, $entity, $langcode, $items, $display) {
$list_items = array();
$chado_table = $this->instance['settings']['chado_table'];
foreach ($items as $delta => $item) {
$title = isset($item['value']['TPUB:0000039']) ? $item['value']['TPUB:0000039'] : '';
$citation = isset($item['value']['TPUB:0000003']) ? $item['value']['TPUB:0000003'] : '';
$entity = (is_array($item['value']) && array_key_exists('entity', $item['value'])) ? $item['value']['entity'] : '';
if ($entity) {
list($entity_type, $entity_id) = explode(':', $entity);
$new_title = l($title, 'bio_data/' . $entity_id);
// Escape anything that isn't alphanumeric
$title = preg_replace('/([^\w])/', '\\\\$1', $title);
$citation = preg_replace("/$title/", $new_title, $citation);
}
$list_items[] = $citation;
}
$list = '';
krsort($list_items, SORT_NUMERIC);
if (count($list_items) == 0) {
$list = 'There are no publications associated with this record.';
}
if (count($list_items) == 1) {
$list = $list_items[0];
}
if (count($list_items) > 1) {
$list = array(
'title' => '',
'items' => $list_items,
'type' => 'ol',
'attributes' => array(),
);
$list = theme_item_list($list);
}
$element[0] = array(
'#type' => 'markup',
'#markup' => $list,
);
}
}
Members
Name | Modifiers | Type | Description |
---|---|---|---|
schema__publication_formatter:: |
public static | property |
The default lable for this field. Overrides TripalFieldFormatter:: |
schema__publication_formatter:: |
public static | property |
The list of field types for which this formatter is appropriate. Overrides TripalFieldFormatter:: |
schema__publication_formatter:: |
public | function |
Overrides TripalFieldFormatter:: |
TripalFieldFormatter:: |
public static | property | The list of default settings for this formatter. |
TripalFieldFormatter:: |
protected | function | Updates a pager generated by theme('pager') for use with AJAX. |
TripalFieldFormatter:: |
protected | function | When constructing a pager for use by a field, all pagers must have a unique ID |
TripalFieldFormatter:: |
public static | function | Provides information about the formatter for this field. |
TripalFieldFormatter:: |
public | function | Provides the field's setting form. |
TripalFieldFormatter:: |
public | function | Provides a summary of the formatter settings. |
TripalFieldFormatter:: |
public | function | Instantiates a new TripalFieldFormatter object. |