首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Expando在Liferay中的应用

Expando在Liferay中的应用
EN

Stack Overflow用户
提问于 2016-02-09 13:51:24
回答 1查看 2.1K关注 0票数 0

我已经为Liferay中的站点资源创建了一个自定义字段,这是一个带有默认值的简单文本值。我想在我的自定义portlet中显示它。

我已经读到,我们将使用ExpandoBridge API获取自定义字段值,但我完全搞不懂。我们可以使用为Expando提供的LocalServiceUtil类来获取值吗?

任何帮助都将不胜感激。我对Liferay很陌生。

代码语言:javascript
复制
    long classNameId = ClassNameLocalServiceUtil.getClassNameId(Sites.class.getName());
    ThemeDisplay themeDisplay  =(ThemeDisplay)renderRequest.getAttribute(WebKeys.THEME_DISPLAY);    
    String columnName = "Org. Tag Line";// key
    String tableName = "CUSTOM_FIELDS";
    long siteId = themeDisplay.getSiteGroupId();// userId=classPK
    ExpandoValue expandoObiect=ExpandoValueLocalServiceUtil.getValue(themeDisplay.getCompanyId(), classNameId, tableName, columnName, userId);
    ExpandoValue expandoObiect=ExpandoValueLocalServiceUtil.getValue(companyId, className, tableName, columnName, classPK)
    String value=expandoObiect.getData();
    renderRequest.setAttribute("tagLine", value);
    System.out.println("Field value==>"+value);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-09 15:16:52

您可以简单地从组对象中获取它。从themeDisplay对象(如themeDisplay.getSiteGroup() )获取站点组

您可以通过下面的代码从组中获得自定义属性值。

代码语言:javascript
复制
Group siteGroup=themeDisplay.getSiteGroup();
String value =(String)siteGroup.getExpandoBridge().getAttribute("custom-field-name");

HTH

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35293785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档