Làm cách nào để kết hợp chế độ xem bộ lọc với tìm kiếm?


18

Khách hàng của tôi đã hỏi tôi về một lĩnh vực duy nhất, hoạt động theo 2 cách:

  • Bộ lọc tự động hoàn thành dựa trên phân loại.
  • Nếu khách truy cập trang web nhập nội dung không thuộc phân loại, tìm kiếm toàn văn bản phải được thực hiện trên nội dung và thông báo thông tin phù hợp được hiển thị.

Bằng cách đó, nếu người dùng nhập tên danh mục, anh ta sẽ nhận được các nút chọn tay được liệt kê và nếu có gì khác, ít nhất anh ta sẽ nhận được một số nội dung.

Một cách riêng biệt, nó dễ dàng. Nhưng làm thế nào để kết hợp những hành vi này trong một lĩnh vực?


1
Một cách dễ dàng, mô-đun bạn làm việc để tự động hoàn thành dựa trên phân loại? Đối với tôi, mẹo sẽ là một mã javascript nhỏ sẽ kiểm tra xem không có kết quả nào thay đổi hành động nút gửi để nó sẽ chuyển hướng đến / search / yourkeywordsearch
sel_space

Câu trả lời:


17

Mô-đun Finder sẽ thực hiện chính xác yêu cầu của bạn, Bạn có thể chọn thuật ngữ phân loại cũng như tiêu đề nút, phần thân, trường, ..vv để thực hiện tìm kiếm.

Có nhiều cách để kết hợp chức năng của trình tìm kiếm để có được loại biểu mẫu tìm kiếm bạn cần. Ngoài ra còn có nhiều móc và chức năng chủ đề cho phép tùy chỉnh đầy đủ đầu ra của trình tìm kiếm.

Nó được sử dụng cho các mục đích này:

As a search tool to find a group of nodes or users.
As a way to navigate to a specific node or user page that matches criteria.
As an alternative to exposed filters for a Views module display.

Xem ảnh chụp màn hình bên dưới, Trong trường công cụ tìm, bạn có thể chọn thuật ngữ phân loại cũng như thân nút để thực hiện tìm kiếm trong trường được hiển thị tự động hoàn thành, thậm chí bạn có thể thực hiện nhiều tìm kiếm từ khóa được phân tách bằng dấu phẩy. Đọc tài liệu Finder để biết thêm thông tin ..

nhập mô tả hình ảnh ở đây

Khi bạn đã thêm phần tử, bạn có thể chọn trường tìm từ danh sách, giữ

Phím Ctrl để chọn thuật ngữ phân loại cũng như Node: Body


Nó hơi cũ và cần người bảo trì, nhưng có vẻ như nó đáp ứng mọi nhu cầu của tôi. Sẽ cần phải kiểm tra nó, nhưng cho đến nay nó dường như là câu trả lời hoàn hảo cho trường hợp sử dụng của tôi.
Mołot

Có vẻ như nó hoạt động. Tôi sẽ cần phải điều chỉnh nó một chút, nhưng nó có thể thực hiện công việc.
Mołot

3

Tôi đang viết mà không cần kiểm tra nhưng tôi có cảm giác rằng bạn có thể sử dụng nó ít nhất như một điểm khởi đầu.

Sử dụng Chế độ xem trường xem mô-đun , bạn có thể nhúng chế độ xem vào chế độ xem khác và nó cũng cho phép bạn chuyển bộ lọc theo ngữ cảnh sang chế độ xem được nhúng.

Trong trường hợp của bạn, tôi sẽ chỉ tạo một chế độ xem khác có bộ lọc theo ngữ cảnh tìm kiếm bộ lọc đã cho. Tôi không chắc chắn về điểm đó, nếu bạn có thể thực hiện tìm kiếm thông qua các bộ lọc theo ngữ cảnh, nhưng tôi đã thấy một số tùy chọn như 'Tìm kiếm: Thuật ngữ', v.v.

Dù sao đi nữa, nếu bạn có thể đạt được bước đầu tiên này, phần còn lại tương đối đơn giản.

Trong chế độ xem ban đầu của bạn, bạn thêm 'Không có hành vi kết quả' trong phần tùy chọn nâng cao và thêm 'Toàn cầu: Chế độ xem (Chế độ xem trường xem)' và chọn chế độ xem bạn đã tạo trước đó và chuyển mã thông báo cho bộ lọc được hiển thị dưới dạng bộ lọc theo ngữ cảnh cho chế độ xem được nhúng (bạn có thể tìm thấy các mã thông báo trong danh sách cho các mẫu thay thế).


1
Ý tưởng thú vị nhưng tôi không thể làm cho nó hoạt động. Rất nhiều cấu hình và sau đó Bala đăng mô-đun làm sẵn và tôi mất lòng.
Mołot

Có, tôi không biết về mô-đun Finder . Tôi nghĩ rằng tôi sẽ sử dụng nó trong các dự án của tôi là tốt. Tôi sẽ rất vui nếu bạn cho chúng tôi biết bằng một bình luận, nếu Finder làm những gì bạn mong đợi.
ЕЕннн

3

Tôi đã trải qua các cuộc thảo luận ở trên và có thể kịch bản dưới đây có thể giải quyết bài đăng 'Cách kết hợp bộ lọc hiển thị bộ lọc với tìm kiếm?'. Việc thực hiện sẽ yêu cầu một số mã hóa tùy chỉnh.

  1. Hãy xem xét url http://www.seedandspark.com/studio .
  2. Ở đây, ở phía bên tay trái, bạn có một hình thức tìm kiếm. Đây là một hình thức tùy chỉnh ( form_id = 'sns_studio_form_filter').
  3. Trên vùng nội dung, chúng tôi có khoảng 7-8 khối xem & tất cả tạo thông tin động (chỉ dành cho người dùng ẩn danh 3 khối)
  4. Bây giờ, chúng tôi có các bộ lọc tiếp xúc được kích hoạt với mỗi khối xem.
  5. Chúng tôi đã giữ những bộ lọc bị lộ đó khỏi tầm nhìn
  6. Chúng tôi đã lưu ý các cấu trúc url khi chúng tôi sử dụng các bộ lọc hiển thị
  7. Trong trình xử lý biểu mẫu tùy chỉnh của chúng tôi, chúng tôi lấy thông tin từ các trường của biểu mẫu tùy chỉnh và tạo url tương tự như chúng tôi đã lưu ý trong bước 6. Và cuối cùng, chúng tôi chuyển hướng đến url đó. Nó sẽ như thế này trong trình xử lý trình ::

    $form_state ['redirect'] = array(
      $path, 
      array(
        'query' => $params // $params is the url
      )
    );
    drupal_redirect_form( $form_state );

Vì vậy, bây giờ khi bước 7 được thực thi, tất cả các khối chế độ xem sẽ được lọc dựa trên tiêu chí bộ lọc bạn đã đặt.

Hy vọng nó giúp.


3

Ngoài ra còn có một cách khác để làm điều đó: Bạn có thể thử mô-đun Concat Field . Về cơ bản, bạn thêm trường vào các loại nội dung và sau đó bạn có thể sử dụng bộ lọc theo trường này làm tìm kiếm.

Nó khá giống với Finder, tôi đồng ý, nhưng tôi nghĩ nó vẫn đáng được đề cập.

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.