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:
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
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
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
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:
Gracias por las respuestas.
Andrés
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:
Y yo tenía:
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
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