2012-06-06 20 views
7

Estoy usando el contenedor de búsqueda liferay para mostrar la lista de información, pero en ese contenedor de búsqueda liferay por defecto se muestra el número de registros como "Mostrando 2 resultados". Pero en mi caso no quiero mostrar esto. ¿Cómo puedo eliminar esto? También se adjuntó la imagen del contenedor de búsqueda.cómo ocultar Mostrar texto de resultado en liferay Buscar contenedor?

enter image description here

sugerencias son bienvenidas.

Respuesta

6

Usted puede hacer esto con Javascript como lo sugiere Felix Christy:

Éstos son los pasos rápidos:

  • Ir a "administrar la página" sección de la página deseada (página en los que no desea para mostrar este texto)
  • Ir a la sección javascript añadir lo siguiente, su marco Javascript Alloy UI que se suministra junto con Liferay:

    AUI().ready(  
    
        function(customA) { 
         customA.all('.taglib-page-iterator').hide(); // this would hide **all** the elements which have the class "taglib-page-iterator" 
        } 
    ); 
    
  • El anterior código JavaScript se puede incluir en sí mismo JSP del portlet personalizado (tenga en cuenta el método y el selector que he cambiado), como:

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

Otra posible solución a través de gancho:

Puede crear un gancho como se menciona en Sandeep Nair para ocultar el texto de los resultados, pero puede poner una condición para comprobar que se oculte solo si la URL de la página es para la que desea ocultar th es o puede tener una condición para verificar el portlet particular en el que desea ocultar este texto de resultado.

Por lo tanto, funcionará normalmente para otras páginas y portlet, pero se ocultará para su página y ciertos portlets que defina. Esta es una idea y aún no la he probado, pero creo que funcionaría. Puede usar el objeto themeDisplay que está disponible en las páginas JSP para recuperar la id del portlet.

Espero que esto ayude.

Gracias a Felix Christy por sugerir la solución a través de Javascript.

Pensé en convertir mis comentarios en una respuesta para una mejor visibilidad para otros miembros de esta maravillosa comunidad.

+0

Gracias por su respuesta ... funciona bien, pero lo que sucede es que cuando la página se carga durante 1-2 segundos muestra el resultado Div x resultado y luego desaparecerá. ¿Puedes decirme por qué es así? ¿es porque ese div se cargará primero y luego se ocultará? – Scorpion

+1

sí, es porque el html se cargará primero y luego se ejecutará javascript para ocultarlo. También puedo pensar en otra solución, editaré mi respuesta un poco. –

+0

También se enfrenta a un problema más, si coloco Document Library arriba de mi portlet. Luego, en el contenedor de búsqueda de DocumentLibrary se ocultará el resultado de Mostrar x, pero en mi portlet se mostrará eso.¿Cómo resolver esto? – Scorpion

4

Es porque está utilizando page-iterator en su contenedor de búsqueda. Cuando los registros exceden el delta predeterminado, el mensaje anterior se reemplazará mostrando -x-of-y-results junto con los números de página y los controles para navegar a las páginas siguientes.

Si no quieres esto, entonces tienes que modificar la página jsp usando hook. El nombre de jsp es showing_x_results.jspf y el siguiente fragmento es lo que está buscando modificar en eso.

<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

¿Es posible que se pueda cambiar dentro del portlet por alguna propiedad o parámetro? Porque si hago cambios en el gancho entonces se aplicará a cada contenedor de búsqueda en mi proyecto, pero quiero esto solo en un contenedor de búsqueda ... – Scorpion

3

el fin de eliminar esa cadena por alguna página específica, por favor poner un jQuery/javascript en la página, que ocultará esa particular div/span que está mostrando ese texto.

En este caso, no se mostrará en esa página, pero estará disponible y se representará en otro lugar.

Éstos son los pasos rápidos:

  1. Ir a "administrar la página" de la página deseada (página en la que no desea mostrar este texto)
  2. Ir a javascript sección de añadir este $('.taglib-page-iterator').hide();

Esto solo funcionará, si ha incluido jquery.js en su tema. Así que por favor hazlo.

+0

¿Podrían darme más detalles sobre cómo lograr eso usando Jquery/Javascript? ¿Puede proporcionar un fragmento de código amablemente? – Scorpion

+5

Puede hacerlo utilizando Alloy UI en lugar de jQuery que viene incluido con liferay. En lugar del código jQuery escriba: var customA = AUI(); customA.one ('. taglib-page-iterator'). hide(); No he comprobado si la clase mencionada es correcta o no, pero este código funcionaría. No es necesario incluir jQuery si no quieres. –

+0

Estoy de acuerdo con Prakash, jQuery oficialmente no es compatible con Liferay, Alloy se incluye con Liferary –

3

En la actualidad, hook (o ext si desea una solución extrema) es la única forma en que puede hacerlo. Reemplazar el mostrando_x_results.jspf Fragmentar y comentar/eliminar lo innecesario. Los únicos "propiedades" que se pueden configurar a través de las portal-ext.properties son estos (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 

puede encontrar las últimas noticias (LR) 6.1GA propiedades Buscar contenedores explican aquí: http://www.liferay.com/es/documentation/liferay-portal/6.1/user-guide/-/ai/search-container

No recomendaría esconderlo del lado del cliente, ya que es muy probable que se rompa si decide actualizar su instalación de Liferay. Hook es una salida segura.