ฉันรู้ว่านี่เป็นหัวข้อที่เก่ากว่า แต่ฉันได้พบวิธีต่อไปนี้เพื่อใช้งานได้ดีสำหรับกรณีการใช้งานส่วนใหญ่
ขั้นตอนง่าย ๆ เหล่านี้จะนำคุณไปสู่การสร้างโมดูลของคุณเองด้วยโหมดมุมมองใหม่ มันค่อนข้างง่าย ฉันชอบที่จะให้การระบุแหล่งที่มา แต่ฉันจำไม่ได้ว่าฉันพบที่ใดบนพื้นฐานของสิ่งนี้ มันทำตามตรรกะเดียวกันกับคำตอบของ werqious
ไฟล์ 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,
);
}
ไฟล์ 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
บันทึกสองไฟล์เหล่านี้ในโฟลเดอร์ my_module_view_mode ในโฟลเดอร์โมดูลและเปิดใช้งาน ล้างแคชของคุณและตอนนี้คุณจะเห็นโหมดมุมมองใหม่ในเอนทิตีที่เกี่ยวข้อง