Expando 在 Liferay 中的使用
Use of Expando in Liferay
我在 Liferay 中创建了一个站点资源的自定义字段,它是具有默认值的简单文本值。我想在我的自定义 portlet 中显示它。
我读到我们将使用 ExpandoBridge API 获取自定义字段值,但我完全不明白。我们可以使用为 Expando 提供的 LocalServiceUtil Class 获取值吗?
如有任何帮助,我们将不胜感激。我是 Liferay 的新手。
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);
您可以简单地从组对象中获取它。
从 themeDisplay 对象获取站点组,如 themeDisplay.getSiteGroup()
您可以通过下面的代码从组中获取自定义属性值。
Group siteGroup=themeDisplay.getSiteGroup();
String value =(String)siteGroup.getExpandoBridge().getAttribute("custom-field-name");
HTH
我在 Liferay 中创建了一个站点资源的自定义字段,它是具有默认值的简单文本值。我想在我的自定义 portlet 中显示它。
我读到我们将使用 ExpandoBridge API 获取自定义字段值,但我完全不明白。我们可以使用为 Expando 提供的 LocalServiceUtil Class 获取值吗?
如有任何帮助,我们将不胜感激。我是 Liferay 的新手。
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);
您可以简单地从组对象中获取它。
从 themeDisplay 对象获取站点组,如 themeDisplay.getSiteGroup()
您可以通过下面的代码从组中获取自定义属性值。
Group siteGroup=themeDisplay.getSiteGroup();
String value =(String)siteGroup.getExpandoBridge().getAttribute("custom-field-name");
HTH