Баг в модуле jw player

Главные вкладки

Аватар пользователя externdig externdig 6 апреля 2017 в 7:45

Всем доброго времени суток. Помогите разобраться в модуле JW player.
Создал поле (файл) с расширением jwplayer(playlist). Плеер работает. Всё бы хорошо, работает если оставлять поле пустым не закрепляя видео. То выдает ошибку
"Notice: Undefined offset: 0 в функции jw_player_field_formatter_view() (строка 250 в файле /sites/all/modules/jw_player/jw_player.module)." И выводится плеер с ошибкой («Error loading player: No playable sources found»)

Как сделать так чтобы не выводился плеер (скрыть), если не файл закреплена? Спасибо.

Вот сам модуль:

<?php
function jw_player_field_formatter_view($entity_type$entity$field$instance$langcode$items$display) {
  
$element = array();
  
// Exclude files without a supported media format (if enabled).
  
if (!empty($display['settings']['check_support'])) {
    
$items array_filter($items'jw_player_supports');
  }
  
// Support for transcoded videos in Video a field.
  
if ($field['type'] == 'video') {
    foreach (
$items as $delta => $item) {
      if (!empty(
$file['playablefiles'])) {
        
$items[$delta] = reset($file['playablefiles']);
      }
    }
  }

  if (

$display['type'] == 'jw_player') {
    
// Process files for the theme function.
    
foreach ($items as $delta => $item) {
      
// Give each instance of the player a unique id. The combination
      // of fid and preset are considered to be save even in cases where
      // the entire theme functions output is cached.
      // Prefixing the id makes sure that the id does not start with a
      // invalid numeric value.
      
$id $item['fid'] . $display['settings']['jwplayer_preset'];
      
$element[$delta] = array(
        
'#theme' => 'jw_player',
        
'#file' => $item,
        
'#preset' => $display['settings']['jwplayer_preset'],
        
'#html_id' => drupal_html_id('jwplayer' $id),
      );
    }
  }

  if (

$display['type'] == 'jw_player_playlist') {

    

$id $items[0]['fid'] . $display['settings']['jwplayer_preset'];    // -- 250 СТРОКА .
    
$element = array(
      
'#theme' => 'jw_player',
      
'#playlist' => $items,
      
'#preset' => $display['settings']['jwplayer_preset'],
      
'#html_id' => drupal_html_id('jwplayer' $id),
      
'#playlist_size' => $display['settings']['playlist_size'],
      
'#playlist_position' => $display['settings']['playlist_position'],
    );
  }

  if (

$display['type'] == 'jw_player_sources') {
    
    
$id $items[0]['fid'] . $display['settings']['jwplayer_preset'];
    
$element = array(
      
'#theme' => 'jw_player',
      
'#sources' => $items,
      
'#preset' => $display['settings']['jwplayer_preset'],
      
'#html_id' => drupal_html_id('jwplayer' $id),
    );

    if (

$images field_get_items($entity_type$entity'field_video_thumbnail')) {
      
$element['#image'] = $images[0];
    }
  }
  return 
$element;
}
?>

Комментарии

Аватар пользователя externdig externdig 10 апреля 2017 в 8:31

Нашел аналогичную проблему в англоязычном сайте Drupal.org . Но это не решил проблему. Мне очень важно. Готов отдать некую сумму за решению проблемы. Благодарю