我们知道现在Portal6只是支持管理员统一的换肤,不能实现用户个性化自主换肤。以下是一个简单的实现个性换肤的过程。
在$portalPath /themes/html/Hebmc路径下有下列文件
1、自定义三套主题css:styles_default.css 默认版样式;styles_big.css豪华版样式;styles_thin.css 简版样式
2、修改Default.jsp应用session信息。引用类如下:
<%@ page import="javax.servlet.http.HttpServletRequest"%>
<%@ page import="javax.servlet.http.HttpServletResponse"%>
<%@ page import="javax.servlet.http.HttpSession"%>
<%@ page import="com.ibm.wps.puma.User"%>
<%@ page import="com.ibm.portal.um.PumaLocator"%>
3、获取session内用户信息。
<%
HttpSession session = request.getSession();
String styleId = "01";
if (session.getAttribute("com.ibm.wps.util.session_user") != null) {
User user = (User) session.getAttribute("com.ibm.wps.util.session_user");
if(user==null){
…… }else{
}
}
%>
通过获取用户信息,获取关于皮肤的设置字段信息。
4、个性换肤根据字段信息,判断stylesName的路径。
<portal-logic:urlFindInTheme file="<%=stylesName%>" id="stylesCSS" />
<link
href='<portal-core:cacheProxyUrl forwardurl="<%=stylesCSS.toString()%>" />'
rel="styleSheet" type="text/css" />
5、用户主题成功。注意:此换主题的过程需要注销再登陆才能有效果。
在$portalPath /themes/html/Hebmc路径下有下列文件
1、自定义三套主题css:styles_default.css 默认版样式;styles_big.css豪华版样式;styles_thin.css 简版样式
2、修改Default.jsp应用session信息。引用类如下:
<%@ page import="javax.servlet.http.HttpServletRequest"%>
<%@ page import="javax.servlet.http.HttpServletResponse"%>
<%@ page import="javax.servlet.http.HttpSession"%>
<%@ page import="com.ibm.wps.puma.User"%>
<%@ page import="com.ibm.portal.um.PumaLocator"%>
3、获取session内用户信息。
<%
HttpSession session = request.getSession();
String styleId = "01";
if (session.getAttribute("com.ibm.wps.util.session_user") != null) {
User user = (User) session.getAttribute("com.ibm.wps.util.session_user");
if(user==null){
…… }else{
}
}
%>
通过获取用户信息,获取关于皮肤的设置字段信息。
4、个性换肤根据字段信息,判断stylesName的路径。
<portal-logic:urlFindInTheme file="<%=stylesName%>" id="stylesCSS" />
<link
href='<portal-core:cacheProxyUrl forwardurl="<%=stylesCSS.toString()%>" />'
rel="styleSheet" type="text/css" />
5、用户主题成功。注意:此换主题的过程需要注销再登陆才能有效果。