留言板

Refrescar listado de documentos en plantilla velocity

thumbnail
Mario R,修改在9 年前。

Refrescar listado de documentos en plantilla velocity

Junior Member 帖子: 55 加入日期: 13-6-6 最近的帖子
Saludos, estoy realizando un desarrollo con liferay 6.1.2 ga3 en el cual se ha puesto como requerimiento listar los archivos de una carpeta específica de la librería de documentos y multimedia.
El listado de documentos debe mostrarse con un estilo personalizado y sin opciones adicionales, por lo cual el visor de documentos y multimedia integrado no aplica.
La solución aplicada es la siguiente:
1. Se creo una estructura con un campo denominado folderName
2. Se creo un template para dicha estructura que utiliza el service locator, busca la carpeta por nombre y luego busca todos los documentos en dicha carpeta.
3. se creo un contenido web para la estructura y template(plantilla)

El problema radica cuando se añaden nuevos documentos a la carpeta, los mismos no son listados automáticamente en el contenido web. Solo refrescan si se edita el contenido web o si pasa un tiempo aproximado de 15 a 20 minutos sin interactuar con el portal.
El siguiente fragmento ilustra el código utilizado

## instancia el servicio de documentos (DLFileEntry) de la biblioteca de documentos
#set($fileService = $serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFileEntryLocalService"))

## obtiene el group id
#set($gid = $getterUtil.getLong($request.get("theme-display").get("scope-group-id")))

##busca los documentos en la carpeta utilizando el id de la carpeta
#set($fid = $getterUtil.getLong($folder.folderId))
#set($files = $fileService.getFileEntries($gid, $fid, -1, -1, null))

#foreach($doc in $files)
    <div class="base-margin">
         <h3>$doc.getTitle()</h3>
	  <p>$doc.getDescription()</p>
    </div>
#end



Agradezco cualquier apoyo o sugerencia al respecto...

Saludos,
Mario
thumbnail
Emilio Jose Lamas Fraga,修改在9 年前。

RE: Refrescar listado de documentos en plantilla velocity

Junior Member 帖子: 57 加入日期: 11-11-29 最近的帖子
Hola,

Lo cierto es que desconozco si hay alguna opción para configurar el refresco de la plantilla, pero dado tu requerimiento, ¿No sería mucho más sencillo realizar el desarrollo con un portlet y visualizar los documentos mediante una estructura de search-container?

Saludos.
thumbnail
Iñaki Sainz,修改在9 年前。

RE: Refrescar listado de documentos en plantilla velocity

Junior Member 帖子: 43 加入日期: 13-6-5 最近的帖子
Hola,

has intentado desmarcar el flag cacheable de las opciones de esa template en concreto? Este flag está en la pantalla de edición de la plantilla y fuerza a ser evaluada cada vez.

En cualquier caso, si ese contenido se muestra en páginas para usuarios no identificados, puede que la caché que te esté actuando es la caché de página (es mala idea desactivarla si hay mucho tráfico).

Espero que te ayude
thumbnail
Mario R,修改在9 年前。

RE: Refrescar listado de documentos en plantilla velocity

Junior Member 帖子: 55 加入日期: 13-6-6 最近的帖子
Hola, muchas gracias!
Esa es la respuesta, ya funciona correctamente!!

Atte:
Mario


Iñaki Sainz:
Hola,

has intentado desmarcar el flag cacheable de las opciones de esa template en concreto? Este flag está en la pantalla de edición de la plantilla y fuerza a ser evaluada cada vez.

En cualquier caso, si ese contenido se muestra en páginas para usuarios no identificados, puede que la caché que te esté actuando es la caché de página (es mala idea desactivarla si hay mucho tráfico).

Espero que te ayude