मैं ऐसा कुछ करना चाह रहा हूं
$fid = 15;
$file = (array)file_load($fid);
$content = drupal_render($file);
echo $content;
और विशेष रूप से यह fid मीडिया मॉड्यूल के 7.x-2.x संस्करण से है ।
मैं ऐसा कुछ करना चाह रहा हूं
$fid = 15;
$file = (array)file_load($fid);
$content = drupal_render($file);
echo $content;
और विशेष रूप से यह fid मीडिया मॉड्यूल के 7.x-2.x संस्करण से है ।
जवाबों:
यह मेरे लिए काम करता है। मीडिया मॉड्यूल के माध्यम से वीडियो के लिए:
<?php
$file = file_load($fid);
if (strpos($file->filemime, 'video/') !== 0) {
return;
}
$key = 'media_' . substr($file->filemime, 6) . '_video';
$formatter_info = file_info_formatter_types($key);
$content = array();
$content['#theme'] = $key;
$content['#uri'] = $file->uri;
if (isset($formatter_info['default settings'])) {
$content['#options'] = $formatter_info['default settings'];
}
$rendered = drupal_render($content);
return $rendered;
?>
और छवियों के लिए; इससे आपको पता चलता है कि कौन से प्रीसेट उपलब्ध हैं ( #style_name
)
<?php
$styles = image_styles();
echo '<pre>' . print_r($styles, TRUE) . '</pre>';
?>
और यह फ़ाइल रेंडर करेगा
<?php
$file = file_load($fid);
$image = image_load($file->uri);
$content = array(
'file' => array(
'#theme' => 'image_style',
'#style_name' => 'large',
'#path' => $image->source,
'#width' => $image->info['width'],
'#height' => $image->info['height'],
),
);
echo drupal_render($content);
?>
ध्यान दें कि image_load I / O करता है।
और रिवर्स के लिए; फ़ाइल नाम दिया गया एक फ़िड।
<?php
$query = new EntityFieldQuery();
$result = $query
->entityCondition('entity_type', 'file')
->propertyCondition('filename', basename($filename))
->execute();
foreach ($result['file'] as $values) {
$fid = $values->fid;
break;
}
echo $fid
?>
मीडिया एम्बेड कोड को देखते हुए, एक FID प्राप्त करें।
<?php
$file = media_parse_to_file($embed_code);
if (empty($file->fid)) {
return FALSE;
}
return $file->fid;
?>
$file->filemime = video/youtube
तब कुंजी 'Media_youtube_video' हो जाएगी, जो drupal.org/project/media_youtube के अंदर थीम फ़ंक्शन का उपयोग करेगी (देखें Media_youtube_theme () )
आप drupal_render()
अपने उदाहरण में गलत कर रहे हैं । drupal_render()
प्रदर्शित की जाने वाली सामग्री रखती है और एक सरणी में इसे कैसे प्रस्तुत करना है इसके लिए निर्देश ताकि सभी सामग्री को अन्य मॉड्यूल द्वारा संशोधित किया जा सके, प्रदर्शित करने से पहले अंतिम क्षण तक। drupal_render()
तर्क में सब कुछ भरा हुआ है &$elements
, जो फ़ंक्शन के लिए तर्क है। drupal_render()
तर्कों में पारित चर से प्रदान किए गए तत्व वापस नहीं आते हैं।
पर देखो विषय एपीआई कार्यों की एक श्रृंखला है कि फ़ाइलों सहित विभिन्न सामग्री तत्वों के लिए HTML प्रदान करेगा के लिए।
आप जिस फ़ंक्शन की तलाश कर रहे हैं, वह file_get_content_headers () है , जो किसी फ़ाइल को डाउनलोड करने की अनुमति देने के लिए हेडर सेट करता है, या (यदि फ़ाइल एक पाठ फ़ाइल है, या कोई छवि) इनलाइन देखी जा सकती है।
फ़ंक्शन को file_load_multiple () , file_load () , या unit_load ('फ़ाइल') द्वारा दिए गए फ़ाइल ऑब्जेक्ट की आवश्यकता होती है ।