function emfield_handler_field_provider::render in Embedded Media Field 6        
                          
                  
                        Same name and namespace in other branches
- 6.3 includes/views/handlers/emfield_handler_field_provider.inc \emfield_handler_field_provider::render()
 - 6.2 includes/views/handlers/emfield_handler_field_provider.inc \emfield_handler_field_provider::render()
 
 
File
 
   - includes/views/handlers/emfield_handler_field_provider.inc, line 58
 
  - Field handler for emfield providers.
 
  Class
  
  - emfield_handler_field_provider 
 
  - @file
Field handler for emfield providers.
 
Code
function render($values) {
  
  if (!$this->defer_query) {
    return $this
      ->render_provider($values);
  }
  
  $field = content_fields($this->content_field['field_name'], $values->{$this->aliases['type']});
  $options = $this->options;
  $vid = $values->{$this->field_alias};
  if (isset($this->field_values[$vid])) {
    
    $count_skipped = 0;
    $items = array();
    foreach ($this->field_values[$vid] as $item) {
      if (empty($options['multiple']['multiple_from']) || $count_skipped >= $options['multiple']['multiple_from']) {
        if (empty($options['multiple']['multiple_number']) || count($items) < $options['multiple']['multiple_number']) {
          
          $nid = $item['_nid'];
          unset($item['_nid']);
          $items[] = $item;
        }
        else {
          break;
        }
      }
      $count_skipped++;
    }
    
    $node = drupal_clone($values);
    
    $node->type = $values->{$this->aliases['type']};
    $node->nid = $values->{$this->aliases['nid']};
    $node->vid = $values->{$this->aliases['vid']};
    
    $node->build_mode = NODE_BUILD_NORMAL;
    
    if ($items) {
      $rendered = array();
      
      foreach ($items as $item) {
        $output = theme('emfield_handler_field_provider', $item, $field, $node, $values, $options['format']);
        if (!empty($output)) {
          $rendered[] = $this
            ->render_link($output, (object) array(
            'nid' => $nid,
          ));
        }
      }
      if (count($rendered) > 1) {
        
        return theme('content_view_multiple_field', $rendered, $field, $values);
      }
      elseif ($rendered) {
        return $rendered[0];
      }
    }
  }
  return '';
}