একটি ড্রুপাল 7 নোড.tpl এ চিত্রটি রেন্ডার বা মুদ্রণ করুন?


16

আমি টিপিএল সহ একটি নোডকে থিম করার চেষ্টা করছি এবং যখন আমি চিত্রটি মুদ্রণের চেষ্টা করেছি, তখন আমি 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]));
?>

কিন্তু এটি প্রস্তাবিত উপায় নয়!

আপনি যদি ইউআরআই থেকে ইউআরএল তৈরি করতে চান,

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

ধন্যবাদ, আপনার উত্তরটি সমস্ত কিছু জুড়ে। এটি
drupal.org


আমি জানি আমি একটি মৃত ঘোড়াকে মারছি, তবে আপনি যদি দ্বিতীয় পন্থা অবলম্বন করেন তবে আপনি কীভাবে আশ্বাস দিতে পারবেন যে 404 নয়?
ক্যামেরন কিলগোর

3

যারা ফাইল_এনটিটি মডিউলটি ব্যবহার করছেন (সম্ভবত মিডিয়া মডিউল সহ) আপনি হয়ত ভাবছেন যে প্রোগ্রাম / ফাইলগুলি চিত্র / চিত্রগুলি কীভাবে রেন্ডার করবেন:

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

যেখানে "ফিল্ড_আইমেজ" আপনার ক্ষেত্রের নাম এবং "সংক্ষিপ্তসার" আপনার ভিউ মোড।


আমার জন্য কাজ করে, কিন্তু $ image_entity উপর শৈলী সেট করা প্রয়োজন [ 'ফাইল'] [ '# STYLE_NAME'] আবার ..
Rémy

আপনার ভাষা কীটি হার্ডকোড করা উচিত নয়।
AlxVallejo

1

আপনি যদি চিত্রটি পরিচালনা করতে সেই চিত্রটির জন্য কেবল চিত্র শৈলীর সাথে চিত্রটি রেন্ডার করতে চান: কেবল টাইপ করুন <?php print_render($content['field_image']) ?>

আপনি যদি অন্য কোনও চিত্র শৈলীর সাথে চিত্রটি প্রদর্শন করতে চান তবে আপনার কাছে SUPPOSE: 'বিক্রয়_আ্যালবাম' রয়েছে তবে টাইপ করুন:

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']);

আশাকরি এটা সাহায্য করবে!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.