Я пытаюсь выполнить поиск с помощью SQL-запроса, мне нужно искать две разные вещи: «title» и «title_alt» с помощью пользовательского ввода, я думаю, что я могу сделать это с помощью ИЛИ, однако мне нужно иметь возможность настроить запрос, когда фильтр населён. это мой первый день использования Drupal, и я до сих пор вникаю в SQL.
Я знаю, что могу использовать explode
а также str replace
но я должен добавить ловушку и как я могу проверить значение в моем фильтре?
Вы должны создать пользовательский модуль, а затем реализовать hook_views_query_alter ().
это очень быстрый фрагмент, адаптирующийся к вашим потребностям
/**
* Implements hook_views_query_alter().
*/
function mymodule_views_query_alter(&$view, &$query) {
if ($view->name == 'view_machine_name') {
if (isset($view->args[0]) && is_numeric(($view->args[0]))) {
$query->add_where(0, 'users.uid', 1, '>');
$query->where[0]['type'] = 'OR';
}
}
}
Других решений пока нет …