Custom Fields en Liferay
De Dos Ideas.
Esta utilidad permite definir variables propias dentro de determinados recursos, por ejemplo sitio, pagina, usuario, etc. Estas variables se exponen mediante Liferay’s ExpandoService.
Web Content
En este ejemplo se muestra como acceder, mediante Velocity, al Custom Field --fecha-- definido dentro del recurso Web Content.
- Servicio para buscar los artículos publicados.
- set ($journalArticleLocalService = $serviceLocator.findService('com.liferay.portlet.journal.service.JournalArticleLocalService'))
- GroupId.
- set($groupId = $getterUtil.getLong($request.get("theme-display").get("scope-group-id")))
- Retorna el articulo actual.
- set ($currentArticle = $journalArticleLocalService.getArticle($getterUtil.getLong($groupId), $reserved-article-id.data, $getterUtil.getDouble($reserved-article-version.data)))
- companyId.
- set ($companyId = $getterUtil.getLong($request.theme-display.company-id))
- ExpandoService, retorna el valor del custom field --fecha-- del --currentArticle--.
- set($fecha = $expandoValueLocalService.getData($companyId, "com.liferay.portlet.journal.model.JournalArticle", "CUSTOM_FIELDS", "fecha", $currentArticle.id))
Texto: $text.data -- Fecha: $fecha
Obteniendo un custom field de sitio desde un template
- GroupId.
- set($groupId = $getterUtil.getLong($request.get("theme-display").get("scope-group-id")))
- companyId.
- set ($companyId = $getterUtil.getLong($request.theme-display.company-id))
- ExpandoService, retorna el valor del custom field --EsIntranet-- del --sitio--.
- set($esIntranet = $expandoValueLocalService.getData($companyId, "com.liferay.portal.model.Group", "CUSTOM_FIELDS", "EsIntranet",$groupId))
Es Intranet: $esIntranet