Tôi biết đây là một chủ đề cũ hơn, nhưng tôi đã tìm thấy phương pháp sau để hoạt động tốt cho hầu hết các trường hợp sử dụng.
Các bước đơn giản này sẽ đưa bạn qua việc tạo mô-đun của riêng bạn với chế độ xem mới. Nó khá đơn giản. Tôi rất muốn cung cấp thẩm quyền, nhưng tôi không thể nhớ nơi tôi đã tìm thấy cơ sở cho việc này. Mặc dù vậy, nó cũng tuân theo logic như câu trả lời của người sói.
Tệp 1: my_module_view_modes.module
<?php
//Add more view modes for content type displays, in addition to default and teaser.
function almagest_view_modes_entity_info_alter(&$entity_info) {
//NB: media_ prefix required.
//You can repeat the following section for any view modes you'd like to create.
// First View Mode
// tag 1 references the entity type, ex. node or file
// tag 3 provides a machine name for your mode
$entity_info['node']['view modes']['my_view_mode'] = array(
'label' => t('My View Mode'), // This is what you'll see in your "Manage Display" tab.
'custom settings' => TRUE,
);
// Another View Mode
$entity_info['file']['view modes']['my_other_view_mode'] = array(
'label' => t('Another View Mode'),
'custom settings' => TRUE,
);
}
Tệp 2: my_module_view_modes.info
name = My Module View Modes
description = Add additional "View Modes" for entities in this module. Helpful for additional displays in views or node rendering.
package = My Modules
version = 7.x - 0.1
core = 7.x
Lưu hai tệp này trong thư mục my_module_view_mode của bạn trong thư mục mô-đun và bật. Xóa bộ nhớ cache của bạn và bây giờ bạn sẽ thấy các chế độ xem mới trong các thực thể tương ứng của chúng.