我创建了一个可作用域和可实例化的插件 portlet。
既然我必须fetch tags related to Asset like Blogs in Global scope
,我有made my plugin portlet scopeable so that I can pass scopeGroupId to AssetTagServiceUtil.getTagsCount() method.
我能够根据范围获取标签。但对于global scope
计数值因角色不同而异。
当我打电话
AssetTagServiceUtil.getTagsCount(scopeGroupId, classNameId, tagName) 然后它根据用户的角色返回不同的计数。
例如,假设我在全局范围内有一个带有标签“testglobaltag”的博客 portlet,然后在上面调用
AssetTagServiceUtil.getTagsCount(scopeGroupId, 10007, "testglobaltag")
returns count 1 for Admin user
和for rest it returns count 2
。IEtwice of the actual count.
注意:10007 是博客的 classNameId。
以下是我的 liferay-portlet.xml 条目,以使我的 portlet 具有范围和可实例性。
<?xml version="1.0"?>
<!DOCTYPE liferay-portlet-app PUBLIC "-//Liferay//DTD Portlet Application 6.1.0//EN" "http://www.liferay.com/dtd/liferay-portlet-app_6_1_0.dtd">
<liferay-portlet-app>
<portlet>
<portlet-name>testassettagutilportlet</portlet-name>
<icon>/icon.png</icon>
<instanceable>true</instanceable>
<scopeable>true</scopeable>
<header-portlet-css>/css/main.css</header-portlet-css>
<footer-portlet-javascript>
/js/main.js
</footer-portlet-javascript>
<css-class-wrapper>
testassettagutilportlet-portlet
</css-class-wrapper>
</portlet>
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
</liferay-portlet-app>
和简单的 view.jsp
<%@page import="com.liferay.portlet.asset.service.AssetTagServiceUtil"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:defineObjects />
<%@ taglib uri="http://liferay.com/tld/theme" prefix="liferay-theme" %>
<liferay-theme:defineObjects/>
=========================Testing AssetTagServiceUtil==========================<br>
AssetTag with tag "testglobaltag" count : <%= AssetTagServiceUtil.getTagsCount(scopeGroupId, 10007, "testglobaltag") %><br>
我无法弄清楚为什么它显示不同,即比管理员以外的角色的实际计数增加一倍。
任何帮助表示赞赏。
谢谢。