Utas komentar yang dimulai di sini menjelaskan solusi yang efektif. MotoTribe terhubung ke utas yang sama, tetapi pada saat pertanyaannya, tidak ada contoh yang berfungsi di halaman itu. Sekarang ada, sebagai berikut:
Dalam modul Anda, terapkan hook_views_api()
:
function MODULENAME_views_api() {
return array(
'api' => 3,
);
}
Kemudian tambahkan file baru ke modul Anda bernama MODULENAME.views.inc, dan terapkan hook_views_query_alter()
:
function MODULENAME_views_query_alter(&$view, &$query) {
if ($view->name == 'whatever_your_view_is_called') {
$query->where[0]['type'] = 'OR';
}
}
Perhatikan juga peringatan ini:
Rupanya, filter "Konten: Diterbitkan (Ya)" yang menyertai setiap Tampilan dianggap sebagai bagian dari grup filter yang sama dengan filter kontekstual (grup 0). Jadi untuk membuat tampilan tampilan saya hanya node yang diterbitkan yang termasuk dalam salah satu grup yang ditentukan oleh filter kontekstual (diterbitkan DAN (arg1 ATAU arg2 ATAU ...)), saya harus memindahkan "Konten: Diterbitkan (Ya)" ke grup filter baru (menggunakan dialog "Dan / Atau, Atur Ulang"). Perhatikan bahwa UI tidak menampilkan filter "Konten: Diterbitkan (Ya)" secara berbeda setelah saya memindahkannya ke grup baru (tidak ada grup lain), tetapi dalam objek kueri yang dilewatkan ke hook_views_query_alter()
dalamnya, ia bergerak itu dari grup 0 ke grup 1, menyebabkan kode dalam fungsi di atas tidak lagi mempengaruhinya.