it-swarm-ko.tech

노드 '티저'보기 모드에 대한 템플릿 제안은 무엇입니까?

node-[type | nodeid] .tpl.php 노드의 기본보기 모드를 대상으로합니다. 그러나 티저보기 모드의 템플릿을 재정의하고 싶습니다.

'teaser'보기 모드에 대한 템플릿 제안 (.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

페이지에서 view-source : 를 누르면 템플릿 제안 전체 목록을 보여주는 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

Clive의 솔루션이 맞습니다. 그러나 기본 제안 후에 새 제안을 평가하려면 배열의 마지막 위치에 제안을 추가해야합니다.

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

이런 식으로 티저 노드가 node-[type] .tpl.php node-[type]-teaser.tpl.php와 일치하고 존재하지 않는 경우 사용합니다.

0
giucas