的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>';