フォーラム

ホーム » Liferay Portal » Español » 3. Desarrollo

構造的に表示 平面上に表示 ツリー上に表示
スレッド [ 前へ | 次へ ]
toggle
andres digiovanni
Velocity, obtener atributos de un AssetEntry
2013/02/25 4:08
答え

andres digiovanni

ランク: New Member

投稿: 14

参加年月日: 2012/09/18

最近の投稿

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
2013/02/26 1:34
答え

andres digiovanni

ランク: New Member

投稿: 14

参加年月日: 2012/09/18

最近の投稿

{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
2013/02/26 5:42
答え

Asier Del Pozo

ランク: Junior Member

投稿: 69

参加年月日: 2007/11/12

最近の投稿

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
2013/02/26 8:57
答え

andres digiovanni

ランク: New Member

投稿: 14

参加年月日: 2012/09/18

最近の投稿

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
2013/02/27 9:40
答え

andres digiovanni

ランク: New Member

投稿: 14

参加年月日: 2012/09/18

最近の投稿

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