2011-11-19 7 views
10

मैं निम्नलिखित मॉड्यूल का उपयोग कर रहा:Drupal में एक टेम्पलेट में एक यूट्यूब थंबनेल प्रस्तुत करना कैसे 7

  • मीडिया
  • media_youtube
  • शैलियाँ

और एक थंबनेल प्रस्तुत करना चाहते हैं एक टेम्पलेट (.tpl) में एक यूट्यूब वीडियो का। मुझे किस थीम फ़ंक्शन का उपयोग करना चाहिए और किस पैराम के साथ?

मेरे सबसे अच्छे quess की तरह कुछ होगा:

$my_media['style_name'] = 'unlinked_thumbnail'; 
print theme('file_styles',$my_media); 

जहां $ my_media फिड, uri, फ़ाइल नाम युक्त एक सरणी, filemime आदि

है के बाद से मैं Drupal करने के लिए बहुत नया हूँ, मेरे सभी मॉड्यूल स्रोत कोड को समझने का प्रयास विफल रहा है। मुझे लगता है कि मैंने आउटपुट प्राप्त किए बिना यूट्यूब और स्टाइल मॉड्यूल में परिभाषित स्टाइल नामों के सभी संभावित संयोजनों का प्रयास किया है।

प्रतिपादन वीडियो खुद तथापि ठीक

print theme('media_youtube_video',$my_media); 

का उपयोग कर काम करता है आप लोग इसे कैसे करते हैं?

उत्तर

12

media_youtube मॉड्यूल कोड में चारों ओर खोदना एक ऐसा फ़ंक्शन है जो में media_youtube_file_formatter_image_view() नामक आपके लिए इसे तैयार करेगा। आप की तरह कोड का उपयोग कर सकते थंबनेल छवि प्रस्तुत करने के लिए निम्नलिखित: एक TPL में और करना चाहते हैं यदि आप

<?php print render($content['field_your_field']); ?> 

:

// Make sure the correct include file is loaded 
module_load_include('inc', 'media_youtube', '/includes/media_youtube.formatters.inc'); 

// Load the file 
$file = file_load($my_media['fid']); 

// Set up the settings array with your image style 
$display['settings'] = array('image_style' => 'unlinked_thumbnail'); 

// Get the render array for the thumbnail image 
$image_render_array = media_youtube_file_formatter_image_view($file, $display, LANGUAGE_NONE); 

// Render it 
print render($image_render_array); 
+0

Thx! एक जादू की तरह काम करता है। – trioni

+0

क्या आप बता सकते हैं कि कोड के इस टुकड़े को या तो टीपीएल या कुछ और में जोड़ना है? – user3386779

0

और तुम दोनों अंगूठे + वीडियो आप ऐसा कर सकता है मुद्रित करने के लिए चाहते हैं, तो $ चर का उपयोग - यह की तरह कुछ हो जाएगा: यू उपयोग कर सकते हैं

<?php print render($variables['content']['field_url']['#object']->content['field_video']);?> 

Hopu ...

4

एक और उदाहरण , जो आपकी कस्टम छवि शैली के साथ वीडियो थंबनेल (vimeo, यूट्यूब, qbrick, आदि) प्रस्तुत करने के लिए संभव बनाता है।

$file - फ़ाइल ऑब्जेक्ट जो आप आसानी से मीडिया फ़ील्ड से प्राप्त कर सकते हैं।

$wrapper = file_stream_wrapper_get_instance_by_uri($file->uri); 
$image_uri = $wrapper->getLocalThumbnailPath(); 

$image_rendered = theme('image_style', array(
    'style_name' => 'YOUR_IMAGE_STYLE_HERE', 
    'path' => $image_uri 
)); 

कृपया ध्यान दें, कि आप भी छवि प्रस्तुत करने के लिए, की तुलना में आप $file->type जाँच करने के लिए अगर यह video या image है, क्योंकि यह विभिन्न तरीकों के साथ विभिन्न आवरण वस्तुओं का उपयोग करेगा की जरूरत चाहते हैं।

संबंधित मुद्दे