<?php class data__sequence_formatter extends ChadoFieldFormatter { // The default lable for this field. public static $default_label = 'Sequence'; // The list of field types for which this formatter is appropriate. public static $field_types = ['data__sequence']; /** * @see TripalFieldFormatter::view() */ public function view(&$element, $entity_type, $entity, $langcode, $items, $display) { // If there are no items, we don't want to return any markup. if (count($items) == 0 or (count($items) == 1 and empty($items[0]['value']))) { $element[0] = [ '#type' => 'markup', '#markup' => 'No sequence is available.', ]; return; } $num_bases = 50; $content = '<pre class="residues-formatter">'; $content .= wordwrap($items[0]['value'], $num_bases, "<br>", TRUE); $content .= '</pre>'; $element[0] = [ // We create a render array to produce the desired markup, '#type' => 'markup', '#markup' => $content, ]; } }