コアのフィールドモジュールをチェックした後に取得しました。
$bundle_settings = field_bundle_settings('node', $bundle);
$viewmode = 'custom';
$name = 'webform';
$bundle_settings['extra_fields']['display']['webform']['custom'] = array(
'weight' => 1,
'visible' => TRUE / FALSE,
);
field_bundle_settings('node', $bundle, $bundle_settings);
これは、指定されたビューモードでフィールドを有効/無効にします
hook_node_view を実装してみてください。次に、$node->type
に条件を設定し、$node->webform
を使用してWebフォームにアクセスし、$view_mode
を使用して現在のビューモードをロードできます。
あなたのカスタムモジュールでそれを無効にしてください:
function yourmodule_node_view($node, $view_mode){
// if you want exclude you content type
if($node->type =='yourcontenttype' && $view_mode=='yourdesireviewmode'){
$node->content['webform']['enabled'] = FALSE;
}
}
詳細については、 hook_node_view および webform_node_view を参照してください。
この便利なモジュールもそれを行い、いくつかの素晴らしい設定オプションを提供します: https://www.drupal.org/project/rabbit_hole
プロジェクトページから:これは、エンティティが独自のページで表示されているときに何が起こるかを制御する複数のオプションを提供することで機能します。あなたはする能力を持っています
アクセス拒否ページを配信します。見つからないページを配信します。任意のパスまたは外部URLへのページリダイレクトを発行します。または単にエンティティを表示します(通常の動作)。