获取Liferay中包含web内容的portlet/页面

获取Liferay中包含web内容的portlet/页面,liferay,web-content,Liferay,Web Content,我试图让Liferay(6.0.6)资产发行商在门户主页上发布多个社区的所有更改。通过点击一个链接,用户应该被重定向到另一个社区并看到新的web内容。问题在于,asset publisher的默认行为(即使使用钩子从所有社区收集信息)试图通过搜索当前页面的组(内容不在其中)来获取url。 我决定更改显示页面的jsp,以搜索所有社区中的所有页面,并找到包含所需web内容的portlet的第一个页面。所以 如何通过web内容的日志id获取包含web内容的portlet 如何获取包含portlet的页

我试图让Liferay(6.0.6)资产发行商在门户主页上发布多个社区的所有更改。通过点击一个链接,用户应该被重定向到另一个社区并看到新的web内容。问题在于,asset publisher的默认行为(即使使用钩子从所有社区收集信息)试图通过搜索当前页面的组(内容不在其中)来获取url。 我决定更改显示页面的jsp,以搜索所有社区中的所有页面,并找到包含所需web内容的portlet的第一个页面。所以

  • 如何通过web内容的日志id获取包含web内容的portlet
  • 如何获取包含portlet的页面

  • 谢谢

    数据库中的PortletPreferences表包含系统中每个portlet的配置。Web内容显示portlet的articleId配置作为首选项存储在此表中。如果查看该表,有3个重要列:

    • plid包含删除portlet的布局(=页面)的id
    • portletid包含portlet的实例id。对于Web内容显示portlet,此ID的格式为56_INSTANCE_XXXX,其中XXXX是唯一的散列
    • 首选项是此portlet的所有首选项及其值的XML格式字符串
    首选项XML的示例:

    
    组-id10139
    第条id14295
    
    因此,这只是一个让您的SQL查询正确的问题。据我所知,没有服务,你可以直接呼叫这个

    选择l.friendlyURL
    从PortletP,布局l
    其中p.plid=l.plid
    p.Portleti想要“56%”
    和p.偏好,如“article-id14295”;
    
    数据库中的PortletPreferences表包含系统中每个portlet的配置。Web内容显示portlet的articleId配置作为首选项存储在此表中。如果查看该表,有3个重要列:

    • plid包含删除portlet的布局(=页面)的id
    • portletid包含portlet的实例id。对于Web内容显示portlet,此ID的格式为56_INSTANCE_XXXX,其中XXXX是唯一的散列
    • 首选项是此portlet的所有首选项及其值的XML格式字符串
    首选项XML的示例:

    
    组-id10139
    第条id14295
    
    因此,这只是一个让您的SQL查询正确的问题。据我所知,没有服务,你可以直接呼叫这个

    选择l.friendlyURL
    从PortletP,布局l
    其中p.plid=l.plid
    p.Portleti想要“56%”
    和p.偏好,如“article-id14295”;
    
    类似于以下内容的内容允许您查找文章的呈现布局

    List<Long> layoutIds = JournalContentSearchLocalServiceUtil.getLayoutIds(groupId, false, articleId);
    long layoutId = 0;
    
    if (!layoutIds.isEmpty()) {
      layoutId = layoutIds.get(0).longValue();
      Layout layout = LayoutLocalServiceUtil.getLayout(groupId, false, layoutId);
      String url = PortalUtil.getLayoutURL(layout, themeDisplay);
      ...
    }
    
    List layoutIds=JournalContentSearchLocalServiceUtil.getLayoutIds(groupId,false,articleId);
    长布局ID=0;
    如果(!layoutIds.isEmpty()){
    layoutId=layoutIds.get(0.longValue();
    Layout Layout=LayoutLocalServiceUtil.getLayout(groupId,false,layoutId);
    字符串url=PortalUtil.getLayoutURL(布局,主题显示);
    ...
    }
    
    类似于以下内容的内容允许您查找文章的呈现布局

    List<Long> layoutIds = JournalContentSearchLocalServiceUtil.getLayoutIds(groupId, false, articleId);
    long layoutId = 0;
    
    if (!layoutIds.isEmpty()) {
      layoutId = layoutIds.get(0).longValue();
      Layout layout = LayoutLocalServiceUtil.getLayout(groupId, false, layoutId);
      String url = PortalUtil.getLayoutURL(layout, themeDisplay);
      ...
    }
    
    List layoutIds=JournalContentSearchLocalServiceUtil.getLayoutIds(groupId,false,articleId);
    长布局ID=0;
    如果(!layoutIds.isEmpty()){
    layoutId=layoutIds.get(0.longValue();
    Layout Layout=LayoutLocalServiceUtil.getLayout(groupId,false,layoutId);
    字符串url=PortalUtil.getLayoutURL(布局,主题显示);
    ...
    }