Как программно задать филтр для view вывести его?

Главные вкладки

Аватар пользователя engenes engenes 25 февраля 2019 в 22:17

Зднаю что скорее всего пишу костыль, само применение - это частный случай, а вот решение этого вопроса может пригодиться везде.

У меня есть поле ввода "поиск по товарам" это раскрытый фильтр. После нажатия на кнопку поиска, меня перекидывает на страницу с результатами

Но так же хочу чтобы при вводе под полем поиска выводился список товаров, у которых заголовок подходит под вводимое значение.

сделал ajax + hook_menu
при приеме данных модулем с помощью hook_menu, хочу чтобы выполнилась функция которая выведит другое представление предварительно устанавливала фильтр по заголовку аналогично тому что работает в первом представлении и вывела список товаров построчно.

сейчас функция в модуле выглядит так:

<?php
function commerce_search_block_menu() {
  
$items['ajax/commerce_search_block/search'] = array(
    
'page callback' => 'commerce_search_block_get_view',
    
'access callback' => true,
  );
  return 
$items;
}
function 
commerce_search_block_get_view(){
    
//print_r($_POST);
    
    
$view views_get_view('indcatalog');
    
$view->init_display('dropdown');

    

$filters = array('title' => 'Продукт');
    
$view->set_exposed_input($filters);

    

$view->execute();
    print 
views_embed_view('indcatalog''dropdown');//название представление и дисплей именно так и называются
}

?>

Комментарии