7

私はliferay検索コンテナを使用して情報のリストを表示していますが、そのliferay検索コンテナでは、デフォルトで「2件の結果を表示」のようなレコード数が表示されます。しかし、私の場合、これを表示したくありません。どうすればこれを削除できますか?検索コンテナの画像も添付。

ここに画像の説明を入力してください

提案は大歓迎です。

4

4 に答える 4

6

Felix Christyが提案したように、Javascriptを使用してこれを行うことができます。

簡単な手順は次のとおりです。

  • 目的のページ(このテキストを表示したくないページ)の[ページの管理]セクションに移動します
  • javascriptセクションに移動し、liferayにバンドルされているAlloyUIjavascriptフレームワークを追加します。

    AUI().ready(        
    
        function(customA) {
            customA.all('.taglib-page-iterator').hide(); // this would hide **all** the elements which have the class "taglib-page-iterator"
        }
    );
    
  • 上記のjavascriptコードは、次のように、カスタムポートレットのJSP自体に含めることができます(変更したメソッドとセレクターに注意してください)。

    <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>
    

フックを介した別の可能な解決策:

Sandeep Nairが述べたように、結果テキストを非表示にするフックを作成できますが、ページのURLがこれを非表示にする場合、または非表示にする条件を設定できる場合にのみ、非表示をチェックする条件を設定できます。この結果テキストを非表示にする特定のポートレット。

したがって、他のページやポートレットでは正常に機能しますが、ページや定義した特定のポートレットでは非表示になります。これはアイデアであり、まだ試していませんが、うまくいくと思います。themeDisplayJSPページで使用可能なオブジェクトを使用して、ポートレットIDを取得できます。

お役に立てれば。

Javascriptを介して解決策を提案してくれたFelixChristyに感謝します。

この素晴らしいコミュニティの他のメンバーの可視性を高めるために、コメントを回答に変換することを考えました。

于 2012-06-07T02:59:37.757 に答える
4

これは、検索コンテナでページイテレータを使用しているためです。レコードがデフォルトのデルタを超えると、上記のメッセージは、ページ番号と次のページに移動するためのコントロールとともに-x-of-y-resultsを表示するように置き換えられます。

これが必要ない場合は、フックを使用してjspページを変更する必要があります。jspの名前はshowing_x_results.jspfであり、次のスニペットはその中で変更するために探しているものです。

<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>
于 2012-06-06T07:24:23.780 に答える
3

特定のページの文字列を削除するには、ページにjQuery / javascriptを配置してください。これにより、そのテキストを表示している特定のdiv/spanが非表示になります。

この場合、そのページには表示されませんが、利用可能になり、他の場所でレンダリングされます。

簡単な手順は次のとおりです。

  1. 目的のページ(このテキストを表示したくないページ)の[ページの管理]セクションに移動します
  2. javascriptセクションに移動これを追加$('.taglib-page-iterator').hide();

これは、テーマにjquery.jsが含まれている場合にのみ機能します。だからやってください。

于 2012-06-06T08:56:17.810 に答える
3

現在、フック(または極端な解決策が必要な場合はext)が唯一の方法です。showing_x_results.jspfフラグメントをオーバーライドし、不要なものをコメント/削除します。portal-ext.propertiesを介して構成可能な唯一の「プロパティ」はこれらです(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

ここで説明されている最新の(LR 6.1GA)検索コンテナのプロパティを見つけることができます:http ://www.liferay.com/es/documentation/liferay-portal/6.1/user-guide/-/ai/search-container

Liferayインストールをアップグレードする場合は壊れてしまう可能性が高いため、クライアント側から非表示にすることはお勧めしません。フックは安全な方法です。

于 2012-06-06T13:08:54.150 に答える