एक drupal 7 node.tpl में छवि प्रस्तुत करना या प्रिंट करना?


16

मैं tpl के साथ एक नोड को थीम करने की कोशिश कर रहा हूं और जब मैंने छवि को प्रिंट करने की कोशिश की, तो मुझे d6 की तरह छवि पथ नहीं मिल सकता है .. मुझे किस फ़ंक्शन को ठीक से आउटपुट छवि पर कॉल करना है .. मेरा मतलब थीम ('') जैसा कुछ है?

Array
(
    [und] => Array
        (
            [0] => Array
                (
                    [fid] => 13
                    [alt] => 
                    [title] => 
                    [width] => 416
                    [height] => 335
                    [uid] => 1
                    [filename] => Capture2.PNG
                    [uri] => public://Capture2.PNG
                    [filemime] => image/png
                    [filesize] => 215377
                    [status] => 1
                    [timestamp] => 1346837738
                    [rdf_mapping] => Array
                        (
                        )

                )

        )

)

जवाबों:


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

यदि आप बदलना चाहते हैं कि छवि कैसे प्रदर्शित होती है (आयाम, लिंक, आदि), तो उन्हें नोड प्रकार सेटिंग में प्रबंधित करें टैब में सेट करें।

आप इस तरह एक चित्रकूट प्रीसेट भी कर सकते हैं:

<?php
print theme('image_style', array('path' => $node->field_image[LANGUAGE_NONE][0]['uri'], 'style_name' => [STYLE NAME]));
?>

लेकिन यह अनुशंसित तरीका नहीं है!

यदि आप URI से URL बनाना चाहते हैं,

<img src="<?php print file_create_url($node->field_image[LANGUAGE_NONE][0]['uri']); ?>" />

धन्यवाद, आपका उत्तर सभी चीजों को कवर करता है। यह drupal.org प्रलेखन में होना चाहिए :)
सर्जस

'Und' के बजाय LANGUAGE_NONE का उपयोग करना हमेशा एक अच्छा विचार है
qasimzee

मुझे पता है कि मैं एक मरे हुए घोड़े की पिटाई कर रहा हूं, लेकिन अगर आप दूसरा तरीका अपनाते हैं, तो आप कैसे विश्वास दिला सकते हैं कि आपको 404 नहीं मिले?
कैमरून किलगोर

3

File_entity मॉड्यूल (शायद मीडिया मॉड्यूल के साथ) का उपयोग करने वालों के लिए , आप सोच रहे होंगे कि प्रोग्राम / फाइल को छवियों को कैसे प्रस्तुत किया जाए:

$image = (object) $node->field_image[ LANGUAGE_NONE ][0];
$image_entity = file_view($image, "summary");
echo drupal_render($image_entity);

जहाँ "field_image" आपका फ़ील्ड नाम है, और "सारांश" आपका दृश्य मोड है।


मेरे लिए काम करता है, लेकिन $ image_entity ['file'] पर स्टाइल सेट करने के लिए ज़रूरी है [[# style_name '] फिर से ..
rémy

आपको भाषा कुंजी को हार्डकोड नहीं करना चाहिए।
AlxVallejo

1

यदि आप केवल छवि को उस छवि के लिए सेट करना चाहते हैं जो कि डिस्प्ले में छवि के लिए सेट की गई है: बस टाइप करें <?php print_render($content['field_image']) ?>

यदि आप किसी अन्य छवि शैली के साथ छवि प्रदर्शित करना चाहते हैं जो आपके पास है: 'Sales_album' तब टाइप करें:

list($albumImage) = field_get_items('node', $album, 'uc_product_image');

$albumImageUrl = file_create_url($albumImage['uri']);

$style_array = array('path' => $albumImage['uri'], 'style_name' => 'sales_album');

$render_album_image = theme('image_style', $style_array);

print $render_album_image;

1

फ़ील्ड मॉड्यूल का उपयोग करते समय , मैंने पाया कि यह बेहतर था:

पृष्ठ में - yourcontenttype.tpl.php:

<?php
  $this_field_image = field_view_field('node',$node,'field_image');
  print render($this_field_image);?>
?>

फ़ील्ड_व्यू_फ़ील्ड () का उपयोग करने से अतिरिक्त लाभ मिलते हैं जिससे कोई प्रदर्शन सेटिंग्स का एक सरणी सेट कर सकता है:

<?php
  $hide_labels = array('label'=>'hidden');
  $this_field_image = field_view_field('node',$node,'field_image', $hide_labels);
  print render($this_field_image);?>
?>

https://api.drupal.org/api/drupal/modules%21field%21field.module/function/field_view_field/7.x


0
$img_url = $node->field_name['und'][$i]['uri'];
print image_style_url("style_name", $img_url);

$iयदि आपके पास प्रदर्शित करने के लिए कई चित्र हैं तो। आप लूप के लिए उपयोग कर सकते हैं जैसे:

for($i=0;$i < $imageCount; $i++) { /*the above code*/ }

और $imageCountमूल रूप से लूप के लिए ऊपर घोषित किया गया है

$images = array();<br>
$imageCount= count($node->field_image['und']);

उम्मीद है की यह मदद करेगा!

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.