Cara Memfilter tampilan dengan membandingkan 2 bidang. Jika bidang-a <bidang-b


18

Saya memiliki tipe konten produk yang memiliki 2 bidang harga.

Saya ingin membuat tampilan yang menunjukkan semua produk dengan harga-A lebih rendah dari harga-B.

Saya berharap saya bisa menambahkan filter dan pilih harga-A lalu pilih operasikan kurang dari dan tetapkan nilainya sebagai harga-B, namun Anda tidak dapat melakukannya.

Saya telah melihat ke dalam menggunakan hook pandangan, terutama hook_views_query_alter tetapi belum beruntung.

Saya juga sudah mencoba menggunakan modul Views PHP dan tidak dapat membuatnya berfungsi.

Adakah yang tahu cara terbaik untuk mencapai ini?

Jawaban:


10

Apa yang Anda cari adalah kriteria filter Global: Fields comparison:)


3
Ini harus menjadi jawaban yang diterima.
joe_flash

4

Selamat datang di Drupal Answers Stack Exchange! Tidak ada jalan lurus ke depan untuk mencapai ini dalam pandangan Drupal seperti sekarang, dan seperti yang saya tahu.

Anda dapat melakukan ini menggunakan modul Views PHP . Aktifkan modul ini dan tambahkan filter PHP filter yang dapat Anda pilih dari filter tampilan Kategori Global setelah Anda menginstal modul di atas.

Tambahkan beberapa kode php seperti di bawah ini di bagian kode PHP filter.

$node = node_load($data->nid);

$field_a = field_get_items('node', $node, 'field_price_a');
$price_a = field_view_value('node', $node, 'field_price_a', $field_a[0]);

$field_b = field_get_items('node', $node, 'field_price_b');
$price_b = field_view_value('node', $node, 'field_price_b', $field_b[0]);

if ($price_a >= $price_b) {
  return TRUE;
}

Ubah field_price_a dengan nama bidang Price A Anda dan field_price_b dengan nama bidang Price B Anda.

Saya menguji dan itu berhasil untuk saya! Semoga Anda bisa memecahkannya juga :-)


Terima kasih untuk sarannya. Saya masih tidak dapat membuatnya bekerja dengan sedikit kode ini dan telah menggunakan bidang yang muncul ketika melakukan dsm ($ data); Saya pikir saya mungkin menambahkan kotak centang juga dan memfilter jika kotak centang dicentang. Terima kasih atas bantuan Anda.
Fadzy

Sementara itu, dimungkinkan dengan tampilan, tanpa pengodean kustom atau modul apa pun yang diperlukan.
Елин Й.



-2

Jika harga adalah bidang dalam jenis konten Anda, dalam tampilan Drupal 7 Anda dapat secara otomatis, dan dengan mudah memilih rekan bidang. Saya kira ini seharusnya berhasil.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.