ฉันพยายามแก้ไขเงื่อนไขการสืบค้นของมุมมอง จนถึงตอนนี้ผมก็ประสบความสำเร็จกับการเปลี่ยนแปลง"สั่งซื้อโดย"แต่ฉันมีความคิดวิธีการแก้ไขที่สภาพ ฉันต้องการตรวจสอบ search_term และหากเป็นตัวพิมพ์ใหญ่ให้เปลี่ยนเป็นตัวพิมพ์เล็กเพื่อให้สามารถค้นหาได้ นอกจากนี้ยังมีอักขระพิเศษบางอย่างในภาษาของฉัน (เปอร์เซีย) ที่ฉันต้องแทนที่ก่อนที่แบบสอบถามจะทำงาน ทุกคนสามารถช่วยฉันได้ว่าจะเริ่มจากที่ใดหรือใช้ hooks หรือ views_handlers ในการใช้งานที่ไหน?
<?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);
}
}
?>
ผลลัพธ์ devel สำหรับที่ซึ่งเงื่อนไขเป็นดังนี้ในขณะนี้ : views_combine เท่ากับ% s%
CONCAT_WS ('', node.title, '', field_data_body.body_value, '', field_data_field_tags_field.taget_field.taget_field_tags_tagle_tagle_tags_field_txt_tagle_test_files_conferencing_target_id_tagler_target_target_id_target_target_id_tagle_converter_conformat_conformat_con_txt) CONCAT_WS ('', node.title, '', field_data_body.body_value, '', field_data_field_tags_tag_tags_field.tags_field.taget_tag_tags_field_tagler_field_tags_tagler_tagle_test_files/converter_target_id_tags
@inheritdoc