| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | <?php/** * @class * Purpose: * * Display: * Configuration: */class sep__protocol_formatter extends ChadoFieldFormatter {  // The default label for this field.  public static $default_label = 'Protocol';  // The list of field types for which this formatter is appropriate.  public static $field_types = ['sep__protocol'];  // The list of default settings for this formatter.  public static $default_settings = [    'setting1' => 'default_value',  ];  /**   * Provides the field's setting form.   *   * This function corresponds to the hook_field_formatter_settings_form()   * function of the Drupal Field API.   *   * The settings form appears on the 'Manage Display' page of the content   * type administration page. This function provides the form that will   * appear on that page.   *   * To add a validate function, please create a static function in the   * implementing class, and indicate that this function should be used   * in the form array that is returned by this function.   *   * This form will not be displayed if the formatter_settings_summary()   * function does not return anything.   *   * param $field   *   The field structure being configured.   * param $instance   *   The instance structure being configured.   * param $view_mode   *   The view mode being configured.   * param $form   *   The (entire) configuration form array, which will usually have no use   *   here.  Typically for reference only.   * param $form_state   *   The form state of the (entire) configuration form.   *   * @return   *   A Drupal Form array containing the settings form for this field.   */  public function settingsForm($view_mode, $form, &$form_state) {  }  /**   *  Provides the display for a field   *   * This function corresponds to the hook_field_formatter_view()   * function of the Drupal Field API.   *   *  This function provides the display for a field when it is viewed on   *  the web page.  The content returned by the formatter should only include   *  what is present in the $items[$delta]['values] array. This way, the   *  contents that are displayed on the page, via webservices and downloaded   *  into a CSV file will always be identical.  The view need not show all   *  of the data in the 'values' array.   *   * @param $element   * @param $entity_type   * @param $entity   * @param $langcode   * @param $items   * @param $display   *   * @return   *    An element array compatible with that returned by the   *    hook_field_formatter_view() function.   */  public function view(&$element, $entity_type, $entity, $langcode, $items, $display) {    if (count($items) > 0) {      $protocol_id = $items[0]['value']["protocol_id"];      $protocol_name = $items[0]['value']["protocol_name"];      $content = $protocol_name;      list($entity_type, $entity_id) = explode(':', $items[0]['value']['entity_id']);      if ($entity_id) {        $content = l($protocol_name, 'bio_data/' . $entity_id);      }    }    //cardinality for this field is 1    $element[0] = [      '#type' => 'markup',      '#markup' => $content,    ];  }  /**   * Provides a summary of the formatter settings.   *   * This function corresponds to the hook_field_formatter_settings_summary()   * function of the Drupal Field API.   *   * On the 'Manage Display' page of the content type administration page,   * fields are allowed to provide a settings form.  This settings form can   * be used to allow the site admin to define how the field should be   * formatted.  The settings are then available for the formatter()   * function of this class.  This function provides a text-based description   * of the settings for the site developer to see.  It appears on the manage   * display page inline with the field.  A field must always return a   * value in this function if the settings form gear button is to appear.   *   * See the hook_field_formatter_settings_summary() function for more   * information.   *   * @param $field   * @param $instance   * @param $view_mode   *   * @return string   *   A string that provides a very brief summary of the field settings   *   to the user.   *   */  public function settingsSummary($view_mode) {    return '';  }}
 |