これは古いトピックであることは知っていますが、ほとんどのユースケースでうまく機能するために次の方法を見つけました。
これらの簡単な手順により、新しいビューモードで独自のモジュールを作成できます。とても簡単です。私は帰属を提供したいと思いますが、この根拠をどこで見つけたか思い出せません。ただし、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
これらの2つのファイルをモジュールフォルダーのmy_module_view_modeフォルダーに保存して有効にします。キャッシュをクリアすると、それぞれのエンティティに新しいビューモードが表示されます。