2012-11-15 9 views
9

Tôi nghĩ, một tính năng đơn giản mà tôi đang cố gắng thêm vào trang web Orchard (1.6) của mình, nhưng tôi không thể tìm thấy bất kỳ hướng dẫn hoặc hướng dẫn nào về cách để làm điều đó. Tôi có một loại tùy chỉnh được gọi là "Office" và mỗi văn phòng có một trường tùy chỉnh được gọi là "Nhà nước" chỉ ra trạng thái của văn phòng. Tôi thực sự thiết kế Văn phòng của tôi như một phần tùy chỉnh trong mã với các thuộc tính cụ thể như Nhà nước trên đó, nhưng tôi "nghĩ" nó giống như khi tôi thêm Nhà nước thông qua giao diện Quản trị dưới dạng một trường trên phần Nội dung Office.Orchard Tạo Phép chiếu hoặc Tìm kiếm Dựa trên Lựa chọn Thả xuống Lọc

Bây giờ, tôi có thể tạo một phép chiếu cơ bản để hiển thị tất cả các văn phòng bằng một bộ lọc đơn giản "Nội dung có loại Office" để hiển thị tất cả các văn phòng. Tuy nhiên, những gì tôi muốn làm bây giờ là có một danh sách thả xuống ở đầu trang có nội dung "Lọc theo: [-SELECT STATE-]" với danh sách tất cả 50 tiểu bang. Khi người dùng chọn một trạng thái, trang sẽ làm mới và chỉ hiển thị các văn phòng ở trạng thái đó.

Đây là nơi tôi bị kẹt. Tôi có nên làm điều này thông qua mã hay tôi có thể thực hiện việc này thông qua Giao diện người dùng quản trị không? Nếu thông qua mã, tôi nên mô hình hóa nó sau mô-đun Orchard.Search (mà tôi đã cố gắng làm, nhưng tôi hoàn toàn bị mất). Nếu tôi có thể làm điều đó thông qua giao diện người dùng, tôi có sử dụng phép chiếu không? Nếu vậy, tôi có phải tạo ra 50 dự báo riêng biệt (một cho mỗi tiểu bang) không? Điều đó dường như rất tốn thời gian để tạo và duy trì.

Bất kỳ trợ giúp nào được đánh giá cao!

FYI, trang web tại http://ktowneric.com/listings/search (sử dụng Orchard) rất giống với những gì tôi đang tìm kiếm và nhà phát triển cho biết ông đã sử dụng phép chiếu, nhưng tôi dường như không thể hiểu được ông đã làm như thế nào.

Trả lời

13

Bạn chắc chắn có thể sử dụng phép chiếu. Nếu bạn nhận thấy khi bạn sử dụng chức năng tìm kiếm trên trang bạn đã tham chiếu, các yếu tố đầu vào được hình thành thành các giá trị chuỗi truy vấn. Bạn có thể sử dụng mã thông báo để lấy các giá trị từ chuỗi truy vấn để sử dụng trong bộ lọc chiếu của bạn. Ví dụ: nếu bạn đang sử dụng các trường như bạn đã nói, thì bạn chỉ cần thêm bộ lọc cho trường đó và trong trường giá trị sử dụng {Request.QueryString: State}. Hoặc, thay thế "Trạng thái" bằng bất kỳ khóa nào bạn đang sử dụng cho giá trị chuỗi truy vấn.

Điều đó giải quyết vấn đề chiếu của bạn. Bạn sẽ cần tạo biểu mẫu tìm kiếm trông giống như thế này ...

<form action="/search-results" method="Get"> 
    <select name="State"> 
    <option value="OH">Ohio</option> 
    ...all the states... 
    </select> 
    <input type="submit" value="Search" /> 
</form> 

"/ kết quả tìm kiếm" có thể là trang chiếu hoặc bất kỳ nội dung nào có tiện ích chiếu. Bạn có thể tạo biểu mẫu dưới dạng tiện ích mà bạn có thể đặt ở đâu đó hoặc cho mục đích thử nghiệm, bạn có thể chỉ cần dán html này vào tiện ích html để dùng thử.

+2

... Tôi ước mình đã tìm thấy câu trả lời này * trước đây * Tôi tìm hiểu tất cả mã nguồn và tìm ra cách tự thực hiện các truy vấn HQL ... –