উত্তর:
একটি কাস্টম মডিউল তৈরি করুন, MODULENAME
মডিউলটির field_image
নাম এবং আপনার ক্ষেত্রের নাম সহ প্রতিস্থাপন করুন :
/**
* Implements hook_entity_view().
*/
function MODULENAME_entity_view($entity, $type, $view_mode, $langcode) {
if ($view_mode == 'teaser') {
$entity->content['field_image']['#items'] = array_slice($entity->content['field_image']['#items'], 0, 1);
}
}
দেখুন hook_entity_view () আরো বিস্তারিত জানার জন্য ডকুমেন্টেশন।
if ($view_mode == 'teaser' && $entity->type == 'CONTENT_TYPE')
।
কাস্টম কোড লেখার দরকার নেই।
ক্ষেত্রের একাধিক সীমা মডিউল ব্যবহার করার চেষ্টা করুন ।
এটি আপনাকে আপনার সামগ্রীর ধরণের জন্য প্রদর্শন সেটিংসে যেতে দেয় এবং টিজার সেটিংসটি কেবলমাত্র নির্দিষ্ট পরিমাণের মানগুলি প্রদর্শন করতে কনফিগার করে। এমনকি আপনি এটিকে ভ্যালিগুলি এড়িয়ে যেতে পারেন, উদাহরণস্বরূপ আপনি যদি এটি 2 থেকে 5 এর মান প্রদর্শন করতে চান
।
আমি প্রথম চিত্রটি প্রদর্শনের জন্য একটি নতুন ক্ষেত্র তৈরি করতে হুক_ফিল্ড_েক্সট্রা_ফিল্ডস () এবং হুক_নোড_ভিউ () ব্যবহার করেছি যাতে আমি মূল চিত্রগুলির ক্ষেত্রের সাথে ছাপছা করি না।
হুক_ফিল্ড_েক্সট্রা_ফিল্ডস () নতুন ক্ষেত্রের সূচনা করে যা আপনার নোড প্রকারের পরিচালনা প্রদর্শন ট্যাবে উপস্থিত হবে।
function HOOK_field_extra_fields() {
$extra['node']['NODE_TYPE'] = array(
'display' => array(
'primary_image' => array(
'label' => t('Primary Image'),
'weight' => 0,
)
),
);
return $extra;
}
তারপরে হুক_নোড_ভিউ () আপনার নতুন ক্ষেত্রের সামগ্রীতে প্রথম চিত্র যুক্ত করতে ব্যবহৃত হয়।
function HOOK_node_view($node, $view_mode, $langcode) {
if($node->type == 'NODE_TYPE' && $view_mode == 'teaser') {
//make sure there are images
if(!empty($node->field_images)) {
$node->content['primary_image'] = $node->content['field_images'][0];
//hide the original field with multiple images
hide($node->content['field_images']);
}
}
}
দ্রষ্টব্য: আপনি যদি ডিসপ্লে স্যুট সক্ষম করে থাকেন তবে আপনি এটি পরিচালনা ডিসপ্লে ট্যাবটিতে করতে পারেন।