You are here

public function BiblioStyleEndNoteTagged::render in Bibliography Module 7.3

@inheritdoc

Overrides BiblioStyleEndNote::render

File

plugins/biblio_style/endnote/BiblioStyleEndNoteTagged.php, line 70
EndNote tagged biblio style.

Class

BiblioStyleEndNoteTagged
@file EndNote tagged biblio style.

Code

public function render($options = array(), $langcode = NULL) {
  $output = array();

  // We clone the biblio, as we might change the values.
  $biblio = clone $this->biblio;
  $wrapper = entity_metadata_wrapper('biblio', $biblio);
  $type = biblio_types($biblio->type);
  $output[] = "%0 " . $type->name;
  $execute_once = array();
  $map = $this
    ->getMapping();
  foreach ($map['field'] as $tag => $tag_info) {
    $method = $tag_info['render_method'];
    if ($tag_info['execute_once']) {
      $execute_once[$method] = $method;

      // Skip rendering contributors as we will do it in one step, to prevent
      // iterating over the same values over and over again.
      continue;
    }
    $this
      ->{$method}($output, $wrapper, $tag);
  }
  foreach ($execute_once as $method) {

    // Render the contributors.
    $this
      ->{$method}($output, $wrapper);
  }
  return implode("\n", $output);
}