liferay的本地化及优化
来源:互联网 发布:大转盘抽奖源码 编辑:程序博客网 时间:2024/05/13 08:59
本人研究了liferay4.3和5.0,发现它存在着不少问题,而且许多东西比较顽固,以下是我的一些解决方案,请大家分享:
1.解决ldap同步时数据没有插入数据库。
修改portal-impl.jar中portal-impl.jar/com/liferay/portal/security/ldap、PortalLDAPUtil.class
-------------------------------------
把enu.hasMore()改为enu.hasMoreElements()方法。
把enu.next()改为enu.nextElement();
这是由于hasMore方法已经失效无法找到下一结点。
2.解决徽标问题。
portal-impl.jar/com/liferay/portal/dependencies中图片company_logo.png换为需要的。
一般情况下,你也可通过修改社区的徽标来定义不同社区,以上方法是修改默认的徽标。
3。如何让所有人都有“我的社区”。
将人员加入到角色power user中。
4、控制台中文乱码。
这没有问题,如果不是乱码可能会引起编码格式的错误,只是由于liferay本身的对中文的支持。
5.改变company_name,这个名字就是浏览使上面的title,通过更改模板来定义名称。
liferay-portal-tomcat-5.5-5.0.1/webapps/ROOT/html/themes/classic/templates/init_custom.vm
添加
#if ($layout)
#set ($group = $layout.getGroup())
#set ($organizationCommunity = $group.isOrganization())
#set ($regularCommunity = $group.isCommunity())
#set ($userCommunity = $group.isUser())
#if ($organizationCommunity)
#set($organizationLocalService =$serviceLocator.findService("com.liferay.portal.service.OrganizationLocalService"))
#set ($organization =$organizationLocalService.getOrganization($group.getClassPK()))
#set ($company_name = $organization.getName())
#elseif($regularCommunity)
#set ($company_name = $group.getName())
#elseif($userCommunity)
#set ($company_name = $languageUtil.get($company_id, $locale,"my-community"))
#end
#end
直接定义
#if ($layout)
#set ($company_name ="test.cn")//此处为所要
#end
但是这种方法需要修改所有模板,因此不可取,最好在liferay初始化时设定。具体在system-ext.properties设定company.default.web.id=test.com。
6.显示名称问题,只是由于liferay是按照外国人的名字规则,如果采用AD同步用户时名称显示就会有问题(liferay5.0)。
ContactImpl
public static String getFullName(
String firstName, String middleName, String lastName) {
StringMaker sm = new StringMaker();
if (Validator.isNull(middleName)) {
sm.append(firstName);
//sm.append(StringPool.SPACE);
sm.append(lastName);
}
else {
sm.append(firstName);
//sm.append(StringPool.SPACE);
sm.append(middleName);
//sm.append(StringPool.SPACE);
sm.append(lastName);
}
return sm.toString();
}
7.在liferay中一个新用户登录后会进入到选择“同意”“不同意”的页面,这个可以去掉.
在portal.properties中将
terms.of.use.required=true
设置为
terms.of.use.required=false
8.在企业管理中要规范姓名(liferay5.0)。
主要考虑liferay-portal-tomcat-5.5-5.0.1/webapps/ROOT/html/portlet/enterprise_admin/view-users.jsp
其中 //row.addText(user2.getLastName(), rowURL);为结果集的规范。
List headerNames = searchContainer.getHeaderNames();为标题的规范,headerNames为简单数组。
以上内容还不完善,如果大家有问题或不同意见都提出来,共同研究。
1.解决ldap同步时数据没有插入数据库。
修改portal-impl.jar中portal-impl.jar/com/liferay/portal/security/ldap、PortalLDAPUtil.class
-------------------------------------
把enu.hasMore()改为enu.hasMoreElements()方法。
把enu.next()改为enu.nextElement();
这是由于hasMore方法已经失效无法找到下一结点。
2.解决徽标问题。
portal-impl.jar/com/liferay/portal/dependencies中图片company_logo.png换为需要的。
一般情况下,你也可通过修改社区的徽标来定义不同社区,以上方法是修改默认的徽标。
3。如何让所有人都有“我的社区”。
将人员加入到角色power user中。
4、控制台中文乱码。
这没有问题,如果不是乱码可能会引起编码格式的错误,只是由于liferay本身的对中文的支持。
5.改变company_name,这个名字就是浏览使上面的title,通过更改模板来定义名称。
liferay-portal-tomcat-5.5-5.0.1/webapps/ROOT/html/themes/classic/templates/init_custom.vm
添加
#if ($layout)
#set ($group = $layout.getGroup())
#set ($organizationCommunity = $group.isOrganization())
#set ($regularCommunity = $group.isCommunity())
#set ($userCommunity = $group.isUser())
#if ($organizationCommunity)
#set($organizationLocalService =$serviceLocator.findService("com.liferay.portal.service.OrganizationLocalService"))
#set ($organization =$organizationLocalService.getOrganization($group.getClassPK()))
#set ($company_name = $organization.getName())
#elseif($regularCommunity)
#set ($company_name = $group.getName())
#elseif($userCommunity)
#set ($company_name = $languageUtil.get($company_id, $locale,"my-community"))
#end
#end
直接定义
#if ($layout)
#set ($company_name ="test.cn")//此处为所要
#end
但是这种方法需要修改所有模板,因此不可取,最好在liferay初始化时设定。具体在system-ext.properties设定company.default.web.id=test.com。
6.显示名称问题,只是由于liferay是按照外国人的名字规则,如果采用AD同步用户时名称显示就会有问题(liferay5.0)。
ContactImpl
public static String getFullName(
String firstName, String middleName, String lastName) {
StringMaker sm = new StringMaker();
if (Validator.isNull(middleName)) {
sm.append(firstName);
//sm.append(StringPool.SPACE);
sm.append(lastName);
}
else {
sm.append(firstName);
//sm.append(StringPool.SPACE);
sm.append(middleName);
//sm.append(StringPool.SPACE);
sm.append(lastName);
}
return sm.toString();
}
7.在liferay中一个新用户登录后会进入到选择“同意”“不同意”的页面,这个可以去掉.
在portal.properties中将
terms.of.use.required=true
设置为
terms.of.use.required=false
8.在企业管理中要规范姓名(liferay5.0)。
主要考虑liferay-portal-tomcat-5.5-5.0.1/webapps/ROOT/html/portlet/enterprise_admin/view-users.jsp
其中 //row.addText(user2.getLastName(), rowURL);为结果集的规范。
List headerNames = searchContainer.getHeaderNames();为标题的规范,headerNames为简单数组。
以上内容还不完善,如果大家有问题或不同意见都提出来,共同研究。
- liferay的本地化及优化
- android的国际化及本地化
- JFace的本地化及安装JFace语言包
- 国际化、本地化及Spring MVC 的设计
- Liferay:Liferay的权限系统
- Liferay研究之八:Liferay的层次划分---持久化及服务
- iOS中多语言本地化流程的优化
- Liferay 的service builde的使用及常见错误
- 关于LIFERAY源码及数据库文件下载的地址.
- [Liferay] 在 Liferay 使用 SpringMVC 的 @ResourceMapping
- Liferay中文问题及解决办法
- Liferay中文问题及解决办法
- 学习liferay视频及网站
- liferay常见异常及解决方法
- Liferay的个性化功能
- Liferay的个性化功能
- liferay的过滤器
- liferay的几个配置
- 工作随记
- 智能手机未来十大发展方向
- 卡巴斯基2009注册机[纯绿色版本]
- 多态的作用
- 如何解决网页的参数传递问题
- liferay的本地化及优化
- 十八种不良生活习惯
- 考勤数据打印方法;
- 使用Windows批处理文件进行RMAN备份
- myframe
- OSGi实现动态特性的关键模式
- URL编码中的空格问题
- TOCControl中图层名称不显示的问题
- A hash day