Học liferay qua ví dụ: Sử dụng Search-container để liệt kê data

Học liferay qua ví dụ: Sử dụng Search-container để liệt kê data
Ví dụ sau mô tả portlet hiển thị danh sách các category. Các bước để tạo portlet thì không được mô
tả ở đây, người đọc hãy thực hiện điều này.
Sau khi tạo portlet, ở page view.jsp hãy thực hiện đoạn code sau:




Giải thích:
Line 35: Tag liferay-ui:search-container để khởi tạo đối tượng SearchContainer của liferay.
Thuộc tính:
delta: thể hiện số kết quả hiển thị trên 1 trang. (ví dụ trên: 10 kết quả/page
+ emptyResultsMessage: Message sẽ hiển thị nếu kết quả search là 0 record. Có thể sử dụng key trong + language.properties để hiển thị dạng đa ngôn ngữ.
+ var: tên biến thể hiện SearchContainer đã khởi tạo. Nếu không thiết lập thì tên biết mặc định là searchContainer.
Line 39: Tag liferay-ui:search-container-results khởi tạo kết quả search.
Thuộc tính:
+ results: Lưu kết quả search. Kết quả phải là giá trị kiểu List.
+ total: Tổng số kết quả có được theo điều kiện search. Search Container sẽ dựa vào thuộc tính delta và
total để thực hiện phân trang.
Ví dụ trên đang thực hiện search toàn bộ Category. Tuy nhiên, có thể thực hiện search theo kiểu from-to
để tăng hiệu suất xử lý. (Sẽ trình bày ở ví dụ sau)

Line 43: Tag liferay-ui:search-container-row xử lý đối với mỗi kết quả. Việc hiển thị hay các xử lý khác
đối với mỗi kết quả phải được thực hiện bên trong Tag này.
Thuộc tính:
+ className: Kiểu của đối tượng của kết quả search. (ví dụ trên là kiểu Category)
+ keyProperty: primary key của đối tượng
+ modelVar: Tên Biến thể hiện đối tượng.

Line 52: Tag <liferay-ui:search-iterator /> Thực hiện lặp qua tất cả kết quả search.

Line 49: file product_category_columns.jspf chứa mã code xử lý hiển thị đối với mỗi kết quả search.

Theo ví dụ, thì nội dung như sau:

Kết quả search được hiển thị trên 2 column, cột thứ 1 hiển thị tên category và cột thứ 2 là các menu chức năng.

Line 5: Tag liferay-ui:search-container-column-text để hiển thị column dạng text.
Thuộc tính:
+ name: Tên hiển của column. Giá trị này có thể là key trong file language.properties.
+ Property: Thuộc tính của đối tượng hiển thị. Ví dụ trên thì thuộc tính category_name của đối  tượng Category sẽ hiển thị. (Ngoài ra Tag này còn có các thuộc tính và cách sử dụng khác.)

Line 21: Tag liferay-ui:icon-menu để hiển thị menu tương ứng cho mỗi row.

Với ví dụ trên thì kết quả hiển thị sẽ như hình bên dưới:

1 comment:

  1. bạn cho mình xin code với được không. mail mình là toonykent@gmail.com. cảm ơn bạn nhiều lắm !

    ReplyDelete