How do I add additional view modes for a node?
first we have to add additional view modes with hook_entity_info_alter

function customuserblog_entity_info_alter(&amp;$entity_info) {
     $entity_info['node']['view modes']['blog_post_big'] = array(
        'label' =&gt; t('simple big  teaser'),
        'custom settings' =&gt; TRUE,
      );
    }


// we may attach additional theme functions or templates and add variables with hook_view

function customuserblog_view($node, $view_mode) {
  if ($view_mode == 'blog_post_big') {
   // add some additional variables for template
    $node-&gt;content['#theme'] = 'custom_blog_big_teaser_view';
  }
}


// in our hook theme

customuserblog_theme(){
    return array(
      'custom_blog_big_teaser_view'= array(
          'render element' =&gt; 'form',
          'template' =&gt; 'custom-blog-big-teaser-view',
       ),

    );
}