it-swarm.asia

ما هو اقتراح القالب لوضع عرض العقدة "دعابة"؟

عقدة - [type | nodeid] .tpl.php أهداف لوضع العرض الافتراضي للعقدة. ومع ذلك ، أريد تجاوز القالب لوضع عرض الجملة المحفزة.

ما هو اقتراح القالب (ملف .tpl.php) لوضع العرض "دعابة"؟

37
gilzero

لا أعتقد أن هناك واحدًا افتراضيًا ولكن يمكنك بسهولة إضافة واحد في ملف template.php الخاص بك:

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

57
Clive

اقتراح القالب لوضع عرض "الجملة المحفزة" هو:

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

بشكل افتراضي ، يستخدم وضع العرض "الإعلان التشويقي" النموذج node.tpl.php العادي ، بحيث يمكنك نسخ هذا الملف للبدء.

يمكنك مشاهدة جميع اقتراحات القالب عن طريق تشغيل وضع theme_debug ، https://www.drupal.org/node/223440#theme-debug

عندما عرض مصدر: على الصفحة ، يجب أن تشاهد تعليقات HTML التي تعرض القائمة الكاملة لاقتراحات القالب Drupal اعتبر.

1
zapo

هناك طريقة أسهل لذلك ، من خلال وحدة أوضاع عرض الكيان.

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
fnandogp

حل كليف صحيح. ولكن إذا كنت تريد تقييم الاقتراحات الجديدة بعد الاقتراحات الافتراضية ، فيجب إضافتها في المواضع الأخيرة للصفيف:

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

بهذه الطريقة ، تتجنب أن تتطابق عقدة الجملة المحفزة (وتستخدم ، إن وجدت) - [type] .tpl.php قبل العقدة - [type] - teaser.tpl.php

0
giucas