নোড 'টিজার' ভিউ মোডের জন্য টেম্পলেট পরামর্শটি কী?


37

নোড - [টাইপ | নোডয়েড] .tpl.php লক্ষ্য নোডের ডিফল্ট ভিউ মোডে। তবে আমি টিজার ভিউ মোডের জন্য টেম্পলেটটিকে ওভাররাইড করতে চাই।

'টিজার' ভিউ মোডের জন্য টেমপ্লেট পরামর্শ (.tpl.php ফাইল) কী?

উত্তর:


57

আমি ডিফল্টরূপে এক আছে বলে মনে করি না তবে আপনি নিজের টেমপ্লেট.এফপি ফাইলটিতে সহজেই একটি যুক্ত করতে পারেন:

function MYTHEME_preprocess_node(&$vars) {
  if($vars['view_mode'] == 'teaser') {
    $vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->type . '__teaser';   
    $vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->nid . '__teaser';
  }
}

এটি আপনাকে এমন একটি টেম্পলেট ফাইল ব্যবহার করতে দেবে: node--[type|nodeid]--teaser.tpl.php


3
আপনি নোড অবজেক্টটি খুব রেফারেন্স করার চেয়ে অ্যারে থেকে সোজা ভেরিয়েবলগুলি
টানতে পারেন

1

সত্তা ভিউ মোডের মডিউলটির মাধ্যমে এটির পক্ষে সহজ উপায়।

https://www.drupal.org/project/entity_view_mode

The Drupal 7 successor to Build modes which will allow administrators to 
define custom view modes for entities. Custom entities are added to the 
entity registry via hook_entity_info_alter() so they are available to any code
that uses entity_get_info() to provide a list of view modes for an entity. 
This includes node and user reference fields, Views, etc.

It also ensures consistency for template suggestions for all entity types, 
so that you can use any of the template patterns, in order of most specific 
to least specific:

entity-type__id__view-mode
entity-type__id
entity-type__bundle__view-mode
entity-type__bundle
entity-type

1

"টিজার" দর্শন মোডের জন্য টেম্পলেট পরামর্শটি হ'ল:

node--[type]--teaser.tpl.php

ডিফল্টরূপে "টিজার" দর্শন মোডটি নিয়মিত node.tpl.phpটেম্পলেট ব্যবহার করে , যাতে আপনি সেই ফাইলটি শুরু করতে অনুলিপি করতে পারেন।

আপনি theme_debugমোডটি চালু করে সমস্ত টেম্পলেট পরামর্শ দেখতে পারেন , https://www.drupal.org/node/223440#theme-debug

আপনি যখন উত্স-উত্সটি দেখবেন : পৃষ্ঠায় আপনার এইচটিএমএল মন্তব্যগুলি দেখতে হবে যা দ্রুপাল বিবেচিত টেম্পলেট পরামর্শগুলির পুরো তালিকা দেখায়।


0

ক্লাইভের সমাধানটি সঠিক। তবে যদি আপনি চান যে নতুন পরামর্শগুলি ডিফল্ট পরামর্শের পরে মূল্যায়ন করা হয়, আপনাকে অবশ্যই এগুলিটির শেষ অবস্থানে যুক্ত করতে হবে:

function MYTHEME_preprocess_node(&$vars) {
  if($vars['view_mode'] == 'teaser') {
    array_unshift($vars['theme_hook_suggestions'], 'node__' . $vars['node']->type . '__teaser');
    array_unshift($vars['theme_hook_suggestions'], 'node__' . $vars['node']->nid . '__teaser');
  }
}

এই উপায়ে আপনি এড়াতে পারবেন যে আপনার টিজার নোডের সাথে মিল রয়েছে (এবং এটি উপস্থিত থাকলে ব্যবহার করে) নোড - [টাইপ করুন] নোডের আগে .tpl.php - [টাইপ] - teaser.tpl.php

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