作者:www.elearn007.com
扩展和自定义liferay
Liferay提供了很多非常好的特性:包括一个功能丰富的内容管理系统,一个社交协作套件,和一些生产力工具。针对大多数情况,这些特性可以很好满足你的项目需求;但是有时你想扩展这些特性或是定义自己的核心实现和外观。
Liferay被设计成可被自定义的架构,它的很多插件和插件类型可以组合应用到一个单独的war文件中,让我们了解下这些插件类型和看看如何使用它们吧。
自定义展示外观:主题theme
themes让你可以灵活定义web站点的外观,你可以指定颜色和常用的图片,你可以在ui界面元素上应用样式表,例如字体,连接,搜索栏,页头,和页脚,通过集成css和Velocity或FreeMarker模板,结合Liferay的AlloyUI API框架,你可以使用一个统一的接口在你的通用ui元素上,而这些ui元素则组成了用户的web页面,这使得生成站点非常容易,而且这些站点可以对桌面访问客户,平板访问客户,手机设备访问客户都可以展示良好的页面效果。最重要的是,themes让你集中精力在设计站点ui上,而不是实现ui所具备的通用功能上。
添加新的预定义页面布局:布局模板Layout Template
布局类似主题,但是它主要集中在设定portlets在页面上的位置布局,而不是portlets的外观展示。你可以生成自定义的布局模板来规划portlets在页面上的位置。而且你甚至可以嵌入通用的portlets.像主题一样,布局模版也是用Velocity编写,并支持热部署。
自定义或扩展开箱即用功能:Hook 插件
Hook插件是你自定义liferay核心功能的插件,hook插件可以用来修改portal属性或是在portal启动,关闭,登录,登出,会话生成,会话销毁阶段执行特定功能。使用服务封装器,hook插件可以替换Liferay任意的核心服务,进而达到自定义功能。Hook插件也可以替换被portlets使用的任意jsp模板,最有趣的是hooks也像portlets 那样支持热部署。
高级定制 Ext 插件
Ext 插件提供了最高级别的对Liferay核心功能实现的定制,允许你用自己的实现来替换任意基础核心类,然而它在没经过修改的情况下不能跨版本移植,因为这个原因,Ext插件仅仅被建议用在的确需要高级别定制的情况,且没有其他可选方案的情况下采用,而且要确保你对liferay 核心熟悉,保证Ext插件不会影响到已经存在的功能,尽管Ext插件可以被当作插件部署,但是服务器必须重启,Ext插件才会起作用。
到这里你已经了解了在liferay上开发所需要配置的可选项,和如何自定义liferay,接下来我们需要了解下需开发工具了。