সাধারণভাবে এটি আপনার ব্যবহারের ক্ষেত্রে নির্ভর করে।
আপনি যদি এমন কোনও ক্ষেত্র / ফিল্টার / যুক্তি রাখতে চান যা একটি নির্দিষ্ট উপায়ে আচরণ করা উচিত তবে এটির জন্য একটি হ্যান্ডলার লেখার পরামর্শ দেওয়া হচ্ছে। আরও তথ্যের জন্য দর্শনগুলির উন্নত সহায়তা দেখুন।
আপনি যদি ক্যোয়ারির কিছু অংশ পরিবর্তন করতে চান তবে আপনি hook_views_query_alter () ও ব্যবহার করতে পারেন । খারাপ জিনিসটি hook_views_query_alter()
হ'ল আপনি সেখানে কোডটি সত্যই পুনরায় ব্যবহার করতে পারবেন না।
এটি ডকুমেন্টেশন থেকে প্রদর্শিত উদাহরণ কোড। এটি হুক কী করতে পারে তার একটি উদাহরণ দেয়।
function mymodule_views_query_alter(&$view, &$query) {
// (Example assuming a view with an exposed filter on node title.)
// If the input for the title filter is a positive integer, filter against
// node ID instead of node title.
if ($view->name == 'my_view' && is_numeric($view->exposed_raw_input['title']) && $view->exposed_raw_input['title'] > 0) {
// Traverse through the 'where' part of the query.
foreach ($query->where as &$condition_group) {
foreach ($condition_group['conditions'] as &$condition) {
// If this is the part of the query filtering on title, chang the
// condition to filter on node ID.
if ($condition['field'] == 'node.title') {
$condition = array(
'field' => 'node.nid',
'value' => $view->exposed_raw_input['title'],
'operator' => '=',
);
}
}
}
}
}