На главной странице сайт travelbilet.ru, который я успешно перевел на drupal с целью его SEO и вывода в топ, красуется панель с 4 вкладками. Эти вкладки - 3 отдельных страницы и 1 views. Реализовано это следующим образом.

Нам потребуются следующие ингридиенты:

  • модуль Tabs и сотоварищи (jQuery UI Tabs);
  • 3 наполненные ноды и их id
  • Объект views, который настроен так, как нам хочется

Код вставляется в страницу (ноду), которая объединит в своем теле вышеупомянутые 3 страницы и объект views.

<?
  $show_teaser = FALSE;
  $show_body = TRUE;
  $node1 =  node_load(108); //ID первой ноды
  node_prepare($node1);
  node_invoke($node1, 'view', $show_teaser, $show_body);
  $node1_view = theme('node', $node1, $show_teaser, $show_body);
 
  $node2 =  node_load(109);  //ID второй ноды
  node_prepare($node2);
  node_invoke($node2, 'view', $show_teaser, $show_body);
  $node2_view = theme('node', $node2, $show_teaser, $show_body);
 
  $node3 =  node_load(6);  //ID третьей ноды
  node_prepare($node3);
  node_invoke($node3, 'view', $show_teaser, $show_body);
  $node3_view = theme('node', $node3, $show_teaser, $show_body);
 
  $view = views_get_view('superfront');  //нужный views 
  $view->set_display('page');
  $view->display_handler->set_option('items_per_page', 9);
  $view->display_handler->set_option('use_pager', false);
 
  $node4_view = $view->preview();
 
//Теперь у нас есть 4 уже темизированных вывода. Далее обернем их в массив и отрендерим.
 
  $form['avia'] = array(
    '#type' => 'tabset',
    '#attributes' => array('class'=>'fronttab'),
  );
  $form['avia']['tab1'] = array(
    '#type' => 'tabpage',
    '#title' => 'Авиабилеты <span class="tabsmall">// забронировать и купить</span>',
    '#content' => $node1_view
  );
  $form['avia']['tab2'] = array(
    '#type' => 'tabpage',
    '#title' => 'Ж-Д билеты <span class="tabsmall">// расписание поездов</span>',
    '#content' => $node2_view
  );
 
  $form['avia']['tab3'] = array(
    '#type' => 'tabpage',
    '#title' => 'Компания Нордвест',
    '#content' =&gt; $node3_view,
    '#attributes' => array('class'=&gt;'ui-tabs-selected active selected'),
  );
 
  $form['avia']['tab4'] = array(
    '#type' => 'tabpage',
    '#title' => 'Спецпредложения <span class="tabsmall">// скидки и акции</span>',
    '#content' => $node4_view
  );
 
  print(tabs_render($form));  //Финальный рендер