2012-06-06 57 views
7

Tôi đang sử dụng vùng chứa tìm kiếm hàng ngày để hiển thị danh sách thông tin, nhưng trong vùng chứa tìm kiếm hàng ngày theo mặc định hiển thị số lượng bản ghi như "Hiển thị 2 kết quả". Nhưng trong trường hợp của tôi, tôi không muốn hiển thị điều này. Làm thế nào tôi có thể loại bỏ điều này? Cũng đính kèm hình ảnh của vùng chứa tìm kiếm.Làm thế nào để ẩn Hiển thị văn bản kết quả trong Liferay Search Container?

enter image description here

Đề xuất được hoan nghênh.

Trả lời

6

Bạn có thể làm điều này với javascript theo đề nghị của Felix Christy:

Dưới đây là các bước nhanh chóng:

  • Đến "Quản lý trang" của trang mong muốn (trang mà bạn dont muốn để hiển thị văn bản này)
  • Chuyển đến phần javascript thêm phần sau, khung Alloy UI javascript đi kèm với liferay:

    AUI().ready(  
    
        function(customA) { 
         customA.all('.taglib-page-iterator').hide(); // this would hide **all** the elements which have the class "taglib-page-iterator" 
        } 
    ); 
    
  • Trên đây mã javascript có thể được bao gồm trong JSP portlet tùy chỉnh của riêng của mình (lưu ý các phương pháp và chọn mà tôi đã thay đổi), như:

    <aui:script> 
        AUI().ready(  
    
         function(customA) { 
          customA.one('#my-portletID .taglib-page-iterator').hide(); // this would hide only **one** element (the first it finds) which has the css class "taglib-page-iterator" under an element with id="my-portletID". 
         } 
        ); 
    </aui:script> 
    

Một giải pháp khả thi thông qua Hook:

Bạn có thể tạo móc như được đề cập bởi Sandeep Nair để ẩn văn bản kết quả nhưng bạn có thể đặt điều kiện để chỉ ẩn nếu URL của trang mà bạn muốn ẩn là hoặc có thể có một điều kiện để kiểm tra portlet cụ thể mà bạn muốn ẩn kết quả văn bản này.

Vì vậy, nó sẽ hoạt động bình thường đối với các trang và portlet khác, nhưng sẽ ẩn cho trang của bạn và một số portlet nhất định mà bạn xác định. Đây là một ý tưởng và chưa thử, nhưng tôi nghĩ nó sẽ hoạt động. Bạn có thể sử dụng đối tượng themeDisplay có sẵn trên các trang JSP để truy xuất id portlet.

Hy vọng điều này sẽ hữu ích.

Nhờ Felix Christy để đề xuất giải pháp thông qua Javascript.

Tôi đã nghĩ đến việc chuyển đổi nhận xét của tôi thành câu trả lời để hiển thị tốt hơn cho các thành viên khác của cộng đồng tuyệt vời này.

+0

Cảm ơn câu trả lời của bạn..làm việc tốt nhưng điều xảy ra là khi trang đang tải trong 1-2 giây hiển thị kết quả Hiển thị x kết quả div và sau đó nó sẽ biến mất. bạn có thể cho tôi biết tại sao nó như vậy? có phải vì div đó sẽ được nạp đầu tiên và sau đó nó sẽ được ẩn? – Scorpion

+1

có, đó là vì html sẽ được tải trước và sau đó javascript sẽ chạy để ẩn nó. Tôi cũng có thể nghĩ ra một giải pháp khác, sẽ chỉnh sửa câu trả lời của tôi một chút. –

+0

Cũng phải đối mặt với một vấn đề nữa, nếu tôi đặt Thư viện Tài liệu phía trên portlet của tôi. Sau đó trong vùng chứa tìm kiếm DocumentLibrary nó sẽ ẩn kết quả Hiển thị x nhưng trong portlet của tôi nó sẽ hiển thị điều đó.Làm thế nào để giải quyết điều này? – Scorpion

4

Đó là vì bạn đang sử dụng trình lặp trang trong vùng chứa tìm kiếm của mình. Khi các bản ghi vượt quá delta mặc định, thông báo trên sẽ được thay thế bằng các kết quả hiển thị-x-of-y cùng với số trang và các điều khiển để điều hướng đến các trang tiếp theo.

Nếu bạn không muốn điều này thì bạn phải sửa đổi trang jsp bằng móc. Tên của jsp là show_x_results.jspf và đoạn mã sau là những gì bạn đang tìm kiếm để sửa đổi trong đó.

<c:otherwise> 
      <c:choose> 
       <c:when test="<%= total != 1 %>"> 
        <%= LanguageUtil.format(pageContext, "showing-x-results", numberFormat.format(total)) %> 
       </c:when> 
       <c:otherwise> 
        <%= LanguageUtil.format(pageContext, "showing-x-result", numberFormat.format(total)) %> 
       </c:otherwise> 
      </c:choose> 
     </c:otherwise> 
+0

Có thể nó có thể thay đổi trong portlet bởi một số thuộc tính hoặc thông số không? Bởi vì nếu tôi thay đổi hook thì nó sẽ được áp dụng cho mỗi container tìm kiếm trong dự án của tôi nhưng tôi muốn nó trong một container tìm kiếm ... – Scorpion

3

Để xóa chuỗi đó cho một số trang cụ thể, vui lòng đặt jQuery/javascript trên trang, sẽ ẩn div/span cụ thể đang hiển thị văn bản đó.

Trong trường hợp này, nó sẽ không được hiển thị trên trang đó, nhưng nó sẽ có sẵn và sẽ được hiển thị ở nơi khác.

Dưới đây là các bước nhanh chóng:

  1. Đến "Quản lý trang" của trang mong muốn (trang mà bạn không muốn hiển thị văn bản này)
  2. Đến javascript phần thêm $('.taglib-page-iterator').hide(); này

Điều này sẽ chỉ hoạt động nếu bạn đã bao gồm jquery.js trong chủ đề của mình. Vì vậy, hãy làm điều đó.

+0

Bạn có thể vui lòng cung cấp cho tôi thêm một số chi tiết về cách sử dụng Jquery/Javascript hay không. Bạn có thể vui lòng cung cấp đoạn mã vui lòng không .. – Scorpion

+5

Bạn có thể làm điều này bằng cách sử dụng giao diện người dùng hợp kim thay vì jQuery đi kèm với liferay. Thay cho viết mã jQuery: var customA = AUI(); customA.one ('. taglib-page-iterator'). hide(); Tôi đã không kiểm tra nếu lớp được đề cập là đúng hay không nhưng mã này sẽ hoạt động. Không cần phải bao gồm jQuery nếu bạn không muốn. –

+0

Đồng ý với Prakash, jQuery không được hỗ trợ chính thức bởi Liferay, Alloy được tích hợp với mã Urer Liferary –

3

Hiện tại, móc (hoặc ext nếu bạn muốn một giải pháp cực đoan) là cách duy nhất bạn có thể thực hiện. Ghi đè tệp show_x_results.jspf Phân đoạn và nhận xét/xóa những gì không cần thiết. duy nhất "tài sản" mà được cấu hình thông qua các portal-ext.properties là những (LR 6.0.5)

# 
    # Set the available values for the number of entries to display per page. An 
    # empty value, or commenting out the value, will disable delta resizing. 
    # The default of 20 will apply in all cases. 
    # 
    # Always include 20, since it is the default page size when no delta is 
    # specified. The absolute maximum allowed delta is 200. 
    # 
    search.container.page.delta.values=5,10,20,30,50,75 

    # 
    # Set the maximum number of pages available above and below the currently 
    # displayed page. 
    # 
    search.container.page.iterator.max.pages=25 

    # 
    # Set this to false to remove the pagination controls above or below 
    # results. 
    # 
    search.container.show.pagination.top=true 
    search.container.show.pagination.bottom=true 

Bạn có thể tìm thấy những mới nhất (LR 6.1GA) tính Tìm kiếm container đã giải thích ở đây: http://www.liferay.com/es/documentation/liferay-portal/6.1/user-guide/-/ai/search-container

Tôi sẽ không khuyên bạn nên ẩn nó khỏi đầu máy khách vì nó rất có thể sẽ bị hỏng nếu bạn quyết định nâng cấp cài đặt Liferay của mình. Hook là một lối thoát an toàn.

Các vấn đề liên quan