Câu trả lời:
Tôi không nghĩ có một cái theo mặc định nhưng bạn có thể dễ dàng thêm một cái trong tệp template.php của mình:
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';
}
}
Điều đó sẽ cho phép bạn sử dụng một tệp mẫu như: node--[type|nodeid]--teaser.tpl.php
Có một cách dễ dàng hơn để làm điều này, thông qua mô-đun chế độ xem Thực thể.
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
Đề xuất mẫu cho chế độ xem "trêu ghẹo" là:
node--[type]--teaser.tpl.php
Theo mặc định, chế độ xem "trêu ghẹo" sử dụng node.tpl.php
mẫu thông thường , do đó bạn có thể sao chép tệp đó để bắt đầu.
Bạn có thể xem tất cả các đề xuất mẫu bằng cách bật theme_debug
chế độ, https://www.drupal.org/node/223440#theme-debug
Khi bạn xem nguồn: trên trang, bạn sẽ thấy các nhận xét HTML hiển thị toàn bộ danh sách các đề xuất mẫu mà Drupal đã xem xét.
Giải pháp của Clive là chính xác. Nhưng nếu bạn muốn các đề xuất mới được đánh giá sau các đề xuất mặc định, bạn phải thêm chúng vào các vị trí cuối cùng của mảng:
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');
}
}
Theo cách này, bạn tránh rằng nút trêu ghẹo của bạn khớp với (và sử dụng, nếu nó tồn tại) nút - [type] .tpl.php trước nút - [type] - teaser.tpl.php