Fóruns

Início » Liferay Portal » Español » 3. Desarrollo

Visualização combinada Visão plana Exibição em árvore
Tópicos [ Anterior | Próximo ]
toggle
andres digiovanni
Velocity, obtener atributos de un AssetEntry
25 de Fevereiro de 2013 04:08
Resposta

andres digiovanni

Ranking: New Member

Mensagens: 14

Data de entrada: 18 de Setembro de 2012

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

1#set ($assetEntryLocalService = $serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService"))
2#set ($assetEntry = $assetEntryLocalService.getEntry("com.liferay.portlet.journal.model.JournalArticle", $resourceprimKey))
3
4$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
RE: Velocity, obtener atributos de un AssetEntry
26 de Fevereiro de 2013 01:34
Resposta

andres digiovanni

Ranking: New Member

Mensagens: 14

Data de entrada: 18 de Setembro de 2012

Mensagens 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
Asier Del Pozo
RE: Velocity, obtener atributos de un AssetEntry
26 de Fevereiro de 2013 05:42
Resposta

Asier Del Pozo

Ranking: Junior Member

Mensagens: 69

Data de entrada: 12 de Novembro de 2007

Mensagens 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
RE: Velocity, obtener atributos de un AssetEntry
26 de Fevereiro de 2013 08:57
Resposta

andres digiovanni

Ranking: New Member

Mensagens: 14

Data de entrada: 18 de Setembro de 2012

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

 1#set ($articleId = $reserved-article-id.data)
 2#set ($groupId = $themeDisplay.getLayout().getGroupId())
 3
 4#set ($journalArticleLocalService = $serviceLocator.findService("com.liferay.portlet.journal.service.JournalArticleLocalService"))
 5#set ($ja = $journalArticleLocalService.getArticle( $groupId, $reserved-article-id.data ))
 6#set ($resourceprimKey = $ja.getResourcePrimKey())
 7
 8#set ($assetEntryLocalService = $serviceLocator.findService("com.liferay.portlet.asset.service.AssetEntryLocalService"))
 9#set ($assetEntry = $assetEntryLocalService.getEntry("com.liferay.portlet.journal.model.JournalArticle", $resourceprimKey))



Gracias por las respuestas.
Andrés
andres digiovanni
RE: Velocity, obtener atributos de un AssetEntry
27 de Fevereiro de 2013 09:40
Resposta

andres digiovanni

Ranking: New Member

Mensagens: 14

Data de entrada: 18 de Setembro de 2012

Mensagens recentes

Hola,

ya esta solucionado.

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


Y yo tenía:
1journal.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