掲示板
Velocity, obtener atributos de un AssetEntry
11年前 に andres digiovanni によって更新されました。
Velocity, obtener atributos de un AssetEntry
New Member 投稿: 14 参加年月日: 12/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:
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
11年前 に andres digiovanni によって更新されました。
RE: Velocity, obtener atributos de un AssetEntry
New Member 投稿: 14 参加年月日: 12/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
11年前 に Asier Del Pozo によって更新されました。
RE: Velocity, obtener atributos de un AssetEntry
Junior Member 投稿: 78 参加年月日: 07/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
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
11年前 に andres digiovanni によって更新されました。
RE: Velocity, obtener atributos de un AssetEntry
New Member 投稿: 14 参加年月日: 12/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:
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
11年前 に andres digiovanni によって更新されました。
RE: Velocity, obtener atributos de un AssetEntry
New Member 投稿: 14 参加年月日: 12/09/18 最新の投稿
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