Опубликовано вт, 11/17/2015 - 17:37 пользователем admin
Вариант 1 (более короткий):
$view = views_get_view('taxonomy_term'); // get your view from database
$view->set_display('page'); // set the display of your view
$view->init_handlers(); // initialise the handlers
$exposed_form = $view->display_handler->get_plugin('exposed_form');
print $exposed_form->render_exposed_form(true);
Вариант 2 (более подробный):
$view_id = 'taxonomy_term';
$display_id = 'page';
$view = views_get_view($view_id);
$view->set_display($display_id);
$view->init_handlers();
$form_state = array(
'view' => $view,
'display' => $view->display[$display_id],
'exposed_form_plugin' => $view->display_handler->get_plugin('exposed_form'),
'method' => 'get',
'rerender' => TRUE,
'no_redirect' => TRUE,
'always_process' => TRUE,
);
$form = drupal_build_form('views_exposed_form', $form_state); //create the filter form
dpm($form);
$form['#id'] = "my-views-exposed-form-taxonomy-term-page";
//$form = views_exposed_form(array(), $form_state);
print drupal_render($form);
Для темизации самих виджетов фильтров необходимо создать шаблон:
views-exposed-form--[VIEWS-NAME].tpl.php
Исходное содержимое шаблона можно взять из папки модуля Views.