Fórum

Velocity, obtener atributos de un AssetEntry

andres digiovanni, modificado 11 Anos atrás.

Velocity, obtener atributos de un AssetEntry

New Member Postagens: 14 Data de Entrada: 18/09/12 Postagens Recentes
Hola!

Estoy desarrollando un template en velocity para un web content. Estoy intentando obtener el identificador de un AssetEntry pero soy incapaz de acceder a sus atributos.

El código que utilizo es:

#set ($assetEntryLocalService = $serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService"))
#set ($assetEntry = $assetEntryLocalService.getEntry("com.liferay.portlet.journal.model.JournalArticle", $resourceprimKey))

$assetEntry



al imprimir la variable $assetEntry obtengo lo siguiente:

{entryId=11731, groupId=10528, companyId=10154, userId=10196, userName=Test Test, createDate=Fri Feb 15 09:16:17 GMT 2013, modifiedDate=Thu Feb 21 10:47:54 GMT 2013, classNameId=10108, classPK=11729, classUuid=0b9aeff3-63b8-4ac6-9db3-fa7dfafbbd70, classTypeId=11703, visible=true, startDate=null, endDate=null, publishDate=Fri Feb 15 09:15:00 GMT 2013, expirationDate=null, mimeType=text/html, title=, description=, summary=, url=, layoutUuid=, height=0, width=0, priority=0.0, viewCount=432}


Entiendo que con esta variable debería se capaz de utilizar el método getEntryId() pero no funciona. También he intentado tratarlo como un String o un simple Array pero no obtengo ningún resultado con éxito.

No entiendo si me esta devolviendo un AssetEntry u otro tipo de dato. Y de que manera puedo acceder a los atributos.

Edito: estoy utilizando liferay 6.1.1

Desde ya, muchas gracias.

Saludos,
Andrés
andres digiovanni, modificado 11 Anos atrás.

RE: Velocity, obtener atributos de un AssetEntry

New Member Postagens: 14 Data de Entrada: 18/09/12 Postagens Recentes
{entryId=11731, groupId=10528, companyId=10154, userId=10196, userName=Test Test, createDate=Fri Feb 15 09:16:17 GMT 2013, modifiedDate=Thu Feb 21 10:47:54 GMT 2013, classNameId=10108, classPK=11729, classUuid=0b9aeff3-63b8-4ac6-9db3-fa7dfafbbd70, classTypeId=11703, visible=true, startDate=null, endDate=null, publishDate=Fri Feb 15 09:15:00 GMT 2013, expirationDate=null, mimeType=text/html, title=, description=, summary=, url=, layoutUuid=, height=0, width=0, priority=0.0, viewCount=432}


El resultado que obtengo es una fila de la base de datos. Esto es normal? Un bug? O que estoy haciendo mal? :S
thumbnail
Asier Del Pozo, modificado 11 Anos atrás.

RE: Velocity, obtener atributos de un AssetEntry

Junior Member Postagens: 78 Data de Entrada: 12/11/07 Postagens Recentes
Hola Andres,

si, es normal, con $assetEntry lo que estas haciendo es "pintar" el objeto, con lo que te salen todos sus datos.

$assetEntry.getEntryId() te tendria que funcionar, si no prueba $assetEntry.entryId y me cuentas.

Saludos,
Asier
andres digiovanni, modificado 11 Anos atrás.

RE: Velocity, obtener atributos de un AssetEntry

New Member Postagens: 14 Data de Entrada: 18/09/12 Postagens Recentes
Hola Asier,

he probado las dos soluciones pero sigue sin funcionarme, adjunto todo el código a ver si el error viene de mas atrás pero no creo porque las otras variables contienen los valores correctos:

#set ($articleId = $reserved-article-id.data)
#set ($groupId = $themeDisplay.getLayout().getGroupId())

#set ($journalArticleLocalService = $serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService"))
#set ($ja = $journalArticleLocalService.getArticle( $groupId, $reserved-article-id.data ))
#set ($resourceprimKey = $ja.getResourcePrimKey())

#set ($assetEntryLocalService = $serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService"))
#set ($assetEntry = $assetEntryLocalService.getEntry("com.liferay.portlet.journal.model.JournalArticle", $resourceprimKey))



Gracias por las respuestas.
Andrés
andres digiovanni, modificado 11 Anos atrás.

RE: Velocity, obtener atributos de un AssetEntry

New Member Postagens: 14 Data de Entrada: 18/09/12 Postagens Recentes
Hola,

ya esta solucionado.

El problema estaba en el archivo portal-ext.properties.
La correacta configuración es:
journal.template.velocity.restricted.variables=


Y yo tenía:
journal.template.velocity.restricted.variables=true


Igualmente no entiendo porque los otros métodos funcionaban.

Espero que a alguien le sea de ayuda en un futuro.

Gracias por la ayuda.

Saludos,
Andrés