Cách lọc chế độ xem bằng cách so sánh 2 trường. Nếu trường-a <trường-b


18

Tôi có một loại nội dung sản phẩm có 2 trường giá.

Tôi muốn tạo chế độ xem hiển thị tất cả các sản phẩm có giá-A thấp hơn giá-B.

Tôi đã hy vọng tôi có thể chỉ cần thêm bộ lọc và chọn giá-A sau đó chọn hoạt động ít hơn và đặt giá trị là giá-B, tuy nhiên bạn không thể làm điều đó.

Tôi đã xem xét việc sử dụng hook view, chủ yếu là hook_view_query_alter nhưng không gặp may mắn.

Tôi cũng đã thử sử dụng mô-đun Views PHP và không thể làm cho nó hoạt động.

Có ai biết cách tốt nhất để đạt được điều này?

Câu trả lời:


10

Những gì bạn đang tìm kiếm là tiêu chí lọc Global: Fields comparison:)


3
Đây phải là câu trả lời được chấp nhận.
joe_flash

4

Chào mừng bạn đến với Sàn giao dịch Drupal Câu trả lời! Cho đến nay, không có cách nào để đạt được điều này theo quan điểm của Drupal và như tôi biết.

Bạn có thể làm điều này bằng cách sử dụng mô-đun Views PHP . Kích hoạt mô-đun này và thêm bộ lọc PHP mà bạn có thể chọn từ bộ lọc chế độ xem Toàn cầu sau khi bạn cài đặt mô-đun trên.

Thêm mã php một số thứ như dưới đây trong phần mã PHP của bộ lọc.

$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;
}

Thay đổi trường_price_a bằng tên trường Giá A của bạn và trường_price_b bằng tên trường Giá B của bạn.

Tôi đã thử nghiệm và nó đã làm việc cho tôi! Hy vọng bạn cũng có thể crack nó :-)


Cám ơn vì sự gợi ý. Tôi vẫn không thể làm cho nó hoạt động với bit mã này và đã sử dụng các trường hiển thị khi thực hiện dsm ($ data); Tôi nghĩ rằng tôi cũng có thể thêm vào một hộp kiểm và lọc nếu hộp kiểm được chọn. Cảm ơn bạn đã giúp đỡ.
Fadzy

Trong khi đó, có thể với các khung nhìn, mà không có bất kỳ oder mã hóa tùy chỉnh nào mà bất kỳ mô-đun đóng góp nào cần thiết.
ЕЕннн


-1

http://drupal.org/project/view_deperee_filters khá hữu ích ...

Nút bổ sung của "Tiêu chí lọc" có các menu con mới. Tự lập kế hoạch một khi bạn thử nó ...

EDIT: xin lỗi, nhưng không phải cho> hoặc <, mà là cho các nhóm bộ lọc có thể được phân tách bằng OR


-2

Nếu giá là một trường trong loại nội dung của bạn, trong chế độ xem Drupal 7, bạn có thể tự động chọn và dễ dàng chọn một trường hợp. Tôi đoán điều này sẽ làm việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.