Usiłuję zmodyfikować warunek where zapytania o wyświetlenia. do tej pory udało mi się zmienić „uporządkuj według” , ale nie mam pojęcia, jak zmienić warunek where . Chcę sprawdzić parametr search_term, a jeśli był zapisany wielkimi literami, przekształć go na małe litery, aby zapytanie mogło je znaleźć. w moim języku (perskim) są też pewne znaki specjalne, które muszę zastąpić przed uruchomieniem zapytania. ktoś może mi pomóc od czego zacząć lub jakich haków lub widoków używać?
<?php
/**
* Implementation of hook_views_query_alter
* @param type $view
* @param type $query
*/
function nashreneydev_views_query_alter(&$view, &$query) {
//krumo($query);
//krumo($view);
if ($view->name == 'custom_search') {
$search_term = $view->exposed_raw_input['combine'];
**//$query->where[0]['conditions'][0]['field']= "?????";**
$view->query->orderby[1]['field'] = "CASE node_type WHEN 'product_display' THEN 1 ELSE 2 END";
$view->query->orderby[1]['direction'] = "ASC";
$view->query->orderby[0]['field'] = "CASE node_title WHEN '".$search_term."' THEN 1 ELSE 2 END";
$view->query->orderby[0]['direction'] = "ASC";
//krumo($view->query->orderby);
}
}
?>
wynik rozwijania dla warunku jest teraz następujący. : views_combine jest równy% s%.
CONCAT_WS ('', node.title, '', field_data_body.body_value, '', field_data_field_author.field_author_target_id, '', field_data_field_translator.field_translator_target_id, '', field_data_field_book_tagsbook
@inheritdoc