Liferay 6开发学习(三十一):定制用户的私有页与公有页
在Liferay中,默认情况下会为每一个用户添加一个公有站点和私有站点,也就右上角的我的个人资料(也就是用户的公有站点)和我的Dashbord(也就是用户的私有站点),这两个部分组成的是用户的个人站点,用户在个人站点里面拥有管理员权限,比如页面的创建、portlet增、删等。
我的个人资料:是用户对外展示的内容,其他用户或不登录用户都可以看到,为当前用户对其他人可见的活动内容,一般放置一些可以公开的博客、个人资料等。
我的Dashbord:是用户的私有站点,除了用户自己外,其他人是不可以看到的,一般放置用户的私有的信息,比如个人的待办、个人关心的指标数据、个人的一些定制数据等。
但是在实际的项目中我们一般会碰到两大类问题:一是项目的需要,不希望用户拥有个人站点;二是用户的个人站点需要进行批量的定制修改。
不希望用户拥有个人站点
这个Liferay本身提供的有一个配置,我们在portal-setup-wizard.properties文件中添加如下配置:
禁用用户的私有站点:
layout.user.private.layouts.enabled=false
禁用用户的公有站点:
layout.user.public.layouts.enabled=false
定制修改用户的站点
Liferay默认对站点有一个配置,界面大概如下图所示:
这样的效果明显不是我们想要的,我们期望能够对这个公有站点和私有站点进行批量的调整,让他们在新建用户的时候就是我们定制的界面。
调整方法如下,以用户的公有站点为例说明,私有站点的方法是一样的:
打开源码中的Portal.properties文件,在里面搜索Default User Public Layouts字样,会找到这样的配置信息:
# # Set the name of the public layout. # default.user.public.layout.name=Welcome # # Set the layout template id of the public layout. # default.user.public.layout.template.id=2_columns_ii # # Set the portlet ids for the columns specified in the layout template. # default.user.public.layout.column-1=82,3 default.user.public.layout.column-2=33 default.user.public.layout.column-3= default.user.public.layout.column-4= # # Set the friendly url of the public layout. # default.user.public.layout.friendly.url=/home # # Set the regular theme id for the public layout. # #default.user.public.layout.regular.theme.id=classic
这是默认的配置信息,下面逐条的进行说明:
default.user.public.layout.name:这个是用户站点的第一个页面的标题,默认的是Welcome,根据我们的需要进行修改。
default.user.public.layout.template.id:默认的页面使用的是哪个布局,后面的是布局的Id,在我们自己定制的布局的xml文件中可以找到这个ID的名称。
定制布局里面的Portlet:下面的这几个配置是一块的,定义的是布局里面放什么样的Portlet,布局是一块一块的,每个块里面有定义的ID,如column-1,column-2这样的内容,如下图所示。这里定义的就是第一个块里面放哪些Portlet,后面跟的是Portlet的ID,在指定的块里面,根据这里的配置从上到下排列。
default.user.public.layout.column-1=82,3
default.user.public.layout.column-2=33
default.user.public.layout.column-3=
default.user.public.layout.column-4=
default.user.public.layout.friendly.url:定义的为默认页面的friendlyurl的名称,也就是在浏览器的URL中的名称,要带“/”,不能有特殊字符(包括中文)。
default.user.public.layout.regular.theme.id:应用的是哪个主题,这里是主题的ID。
注意:这里的配置是可以放在portal-setup-wizard.properties里面,服务器必须重启之后才会生效,而且仅对新建的用户才会生效,以前的用户不会应用此配置。
对于已经存在的用户,就只有修改layout表里面的相关数据进行修改调整。
冷大,竟然更新了!~