的PortletPreferences表在数据库包含系统中每个portlet的配置。 Web内容显示portlet的articleId配置作为首选项存储在此表中。如果你看一下这个表,有3个重要的列:
- PLID包含在其上的portlet放置到的布局(=页)的ID。
- portletid包含实例 portlet的id。对于Web Content Display portlet,此ID的格式为56_INSTANCE_XXXX,其中XXXX是唯一的散列。
- 首选项是XML格式的所有首选项的字符串及其对于此portlet的值。
的喜好 XML的例子:
<portlet-preferences>
<preference><name>group-id</name><value>10139</value></preference>
<preference><name>article-id</name><value>14295</value></preference>
</portlet-preferences>
所以它只是一个让你的SQL查询权的问题。据我所知,没有可以直接拨打的服务。
SELECT l.friendlyURL
FROM PortletPreferences p, Layout l
WHERE p.plid=l.plid
AND p.portletid LIKE '56_INSTANCE_%'
AND p.preferences LIKE '<preference><name>article-id</name><value>14295</value></preference>';