Вставляем mp3 флеш-плеер в ноду

Основная идея заключается в том, чтобы переопределить вывод поля типа файл, делать можно разными способами.

Я приведу пример как это делается с помощью кастомизации поля модуля Views.

Итак у нас есть тип материалов с полем файл. Темизируем вьюсом страницу, смотрим название поля и перекрываем его темплейтом:
small_views_field.jpg

В нашем случае это поле views-view-field--audio-page--page--field-upload-track.tpl.php

В шаблон вставляем следующий код:

  1. global $base_url;
  2.  
  3. if (isset($row->field_field_upload_track['0']['raw']['uri'])) {
  4.  
  5. $player = '<ul>';
  6.  
  7. $playlist = $row->field_field_upload_track;
  8.  
  9. foreach($playlist as $key => $val) {
  10.  
  11. $name = $val['raw']['description'];
  12.  
  13. $player .= '<li><div class="audioname">' .$name .' </div><div class="audioplayer"><object
  14. id="audioplayer"
  15. type="application/x-shockwave-flash"
  16. data="' . $base_url . '/sites/all/themes/beznot/player/mp3player.swf"
  17. width="400"
  18. height="30">
  19. <param name="bgcolor" value="#ffffff" />
  20. <param name="allowScriptAccess" value="always" />
  21. <param name="movie" value="' . $base_url . 'sites/all/themes/beznot/player/mp3player.swf" />
  22. <param name="flashvars" value="' . $base_url . 'sites/all/themes/beznot/player/audio106-506.txt&comment=&m=audio&file=' . file_create_url($val['raw']['uri']) . '" />
  23. </object></div></li>';
  24. }
  25.  
  26. $player .= '</ul>';
  27. } else {
  28. $player = '';
  29. }
  30.  
  31. echo $player;

Как вы успели заметить, в поле вставляется html код флеша с сылкой на файл 'sites/all/themes/beznot/player/mp3player.swf"
Где я брал этот mp3 плеер я уже не помню, но на момент написания статьи нашел что-то похожее тут.

Вот собственно и всё.