19 авг. 2011 г.

Как программно вывести exposed форму

Так можно вывести exposed форму даже если в views-е эта форма не вынесена в блок 

<?php 

function get_view_exposed_form($view_name 'some_view'$display_id 'some_display') {
  if (
$view views_get_view($view_name)) {
      if (
$view->access($display_id)) {
          
$view->set_display($display_id);
          if (isset(
$view->display_handler)) {
              
$view->init_handlers();
              if (
$view->display_handler->uses_exposed()) {
                  
$exposed_form $view->display_handler->get_plugin('exposed_form');
                  
$rendered_form $exposed_form->render_exposed_form();
                  
$view->destroy();
                  return 
$rendered_form;
              }
           
          }
       
      }
      
$view->destroy();
  }

  
drupal_set_message('Something gone wrong''error');
  return 
'';
}
}
?>


PS:
Еще раз спасибо за решение deb
http://www.drupal.ru/node/67236