liferay主题内容相关

来源:互联网 发布:学校网络限制设备 编辑:程序博客网 时间:2024/05/31 04:03

                                        liferay主题开发

liferay可以为不同的页面、社区、组织等提供不同的主题,方便实现用户的个性化配置,同时liferay提供的IDE方便开发人员进行主题的个性化开发。

liferay主题的创建:

1.在Eclipse的工具条上,点击New   Liferay  Project,在plugin  type 里面选择Theme,点击finish.则完成了theme工程的建立。

2.liferay的主题开发是在他提供的一个模板的基础上进行修改,我们将个性化的内容放置于_diffs目录下面,在deploy的时候,liferay会自动的将此文件的内容合并到主题中,并覆盖原先相应的内容。如果没有覆盖原来的则采用默认的样式等。

3.liferay的主题主要有四部分组成,css、image、js、template。这几部分中前三部分,不需要特别说明,template里面使用Velocity编写的模板,方便我们修改他相应的模板内容。

4.依次说明:

css:

  1.css里面的文件事分类的,如form.css里面是定义的表单相关的,navigation.css里面是定义的导航相关的,layout.css是定义布局相关的等等。比如我们需要修改导航的样式,则在_diffs目录下面建立css目录,并将上面的navigation.css复制到_diffs/css/下面。我们在此文件上修改,liferay  IDE会自动的编译覆盖原先的内容。2.如果我们需要定义的css内容,不是liferay本身提供的,而是我们自己新建立的样式,则推荐将此样式写在_diffs/css/custom.css里面。

js:js的内容一般不做修改,也没有必要在主题包里面定义太多的js相关的内容。

images:

将和自己编辑的主题相关的图片存于images目录下面,如果需要在代码中引用,可以使用

String  imgpath=themeDisplay.getPathThemeImages()

这里取到的imgpath,即为images目录

templates:

模板文件,用于定义常用的portlet、导航、通用的等模板文件,可以根据自己的实际需求进行修改。和普通的velocity一样,如果对于Velocity不太熟悉的,可以大概了解一下,使用起来和普通的HTML没有太大的区别。

主题的发布:

主题创建修改完成后,点击ant中的deploy进行发布即可。

其他说明:

在_diffs目录里面只需要复制自己要修改的内容,不需要修改的则不需要复制过来,如下图:

1.我需要修改layout.css,则只需要从上级的css目录里面将此文件复制过来,在此文件上进行修改,不需要修改navigation.css则不用复制,其他的也类似。

2、图片,我需要将自定义的图片保存到common目录下面,则需要创建一个comon目录,在引下面存放自己的文件即可。

3.tumbnail.png文件是存放的主题的缩略图,方便在切换主题时预览。

 liferay主题开发

第一章: liferay  6.1开发学习(一):环境搭建   

一、资源准备

以下资源内容可以在liferay的官方网站下载,

1-3在http://www.liferay.com/downloads/liferay-portal/available-releases下载。

Liferay  IDE在http://www.liferay.com/downloads/liferay-projects/liferay-ide处下载。

1.liferay-plugins-sdk-6.1.1(Plugin  SDK)

2.liferay-portal-6.1.1-ce-ga2(Bundled  with  Tomcat)

3.liferay-portal-src-6.1.1-ce-ga2(Portal  Source  ,可选)

4.liferay  IDE  1.6

5.Java   SDK  (开发java  程序当然要安装,请配置好环境变量)

请将以上资源解压,推荐在某一个盘下面建立一个Liferay的目录,将IDE、SDK、Liferay-portal-6.1.1-ce-ga2和源码后解压后放到这个目录下。

二、配置SDK

打开Liferay IDE, window-->Preferences-->Liferay-->Installed  Plugin  SDK,点击右边的Add,...按钮,选择Liferay Plugins  SDK  的解压目录,如下图所示,点击OK,完成SDK的配置。


二、配置Liferay运行环境(以Tomcat为例)

打开Liferay IDE,  Window-->Preferences-->Sever-->Runtime   Environment,点击右边Add...,在弹出的服务器选择里面选择Liferay,Inc-->Liferay v6.1 CE  (Tomcat 7),请在“Create   a  new  location  servCer”打上勾。

点击next,选择liferay-portal-6.1.1-ce-ga2的da解压目录,如下所示。


点击finish完成Tomcat的配置,或者点击“Next”,此步骤可以在Liferay  source  location  处选择Liferay的源码,或者跳过,推荐关联一下Liferay的源码,其他的两个可选,点击finish完成Tomcat的配置。

四、运行liferay

经过上面的三步,在Liferay  IDE(Eclipse   4.2)的下方的server面板处,可以看到Liferay  6.1  CE  Server,现在点击运行。稍等片刻,待Tomcat启动完成后,打开浏览器输入http://localhost:8080/,在Liferay第一次运行的时候会出现一个配置向导(此功能为Liferay6.1开始新增)。


        可以在此配置Liferay门户名称,使用语言,管理员的姓名,电子邮件,数据库的连接信息(先在数据库里面建立数据库portal)等内容。如上图所示,如果出现“数据库连接不能建立。请检查您的连接设置,”。请检查数据库是否已经建立,或者数据库名、账号、密码等信息是否正确。

       静心等待Liferay的初始化,可能需要几分钟时间,当Liferay初始化完成之后,会自动跳转到配置保存成功的页面。

        根据Liferay的提示进行密码设置,密码提示问题设置等,然后跳转到Liferay的主页。

五.Liferay  IDE的其他配置

设置工作区编码:

Liferay的开发环境我们需要工程的编码为UTF-8,新安装的Eclipse的默认编码为GBK,修改方式为:

WindowàPreferencesàGeneralàWorkspace,在这下面的Text  file  encoding 处选择other,UTF-8点击ok保存。

代码提示、控制台缓冲区的大小:

可以参考前面的一篇博客:

MyEclipse/Eclipse的一些技巧

中文字体偏小:

可以参考前面的一篇博客,解决

解决eclipse3.7中文字体小

六、

Liferay的大概使用介绍

在四的基础上,在右上角可以看到有一个访问,点击可以看到有控制面板、我的个人主页、Liferay(这里显示的是在配置向导处设置的门户名称)。这几个内容是什么意思呢?

控制面板:这个算是Liferay的后台管理。

我的公共主页:其他人可以看到的自己的页面内容,一般放置的如个人博客等展示给其他人看的内容。

我的个人主页:个人主页的东西是只有自己可以看到,其他人看不到的,一般放置自己的日程,收集的站点,常用的小工具等等内容,是自己的私有空间。

在控制面板里面主要分为个人信息、站点设置、门户设置、服务器信息等。如果是一般权限的用户只能看到个人信息。一般开发的管理功能的页面均放置在此控制面板处,后面介绍如何将自己开发的portlet放置在这里。

现在回到“我的公共页面”或者“我的个人主页”依次介绍一下顶部左边各按钮的作用。

编辑控制:打上勾之后显示portlet的控制按钮,可以勾上和反选看一下效果。如果勾上仍然没有出现portlet的控制按钮,而说明当前登录的用户没有此portlet的控制权限。

管理:管理里面有页面、页面布局、站点页面、站点内容四个菜单。页面和站点页面功能类似,差别只在于点进去后的默认位置不同;站点内容和后台的控制面板处站点的内容一样。页面布局是调整当前页面使用什么样的布局,如一栏。两栏,三栏等这些内容。

添加:点击添加显示的是可以添加的portlet,默认的只有几个,点击更多,可以看到所有的权限portlet(不同的登录用户,根据权限的不同看到的portlet不同)可以添加一些看看效果。

上页内容只是liferay的一些大概介绍,不熟悉的可以随便点点,熟悉一下相关内容。

七、其他

1.可以尝试修改一个Liferay里面的eclipse.ini的里面的JVM内存配置,可以提高eclipse的响应,我将里面的-Xms和-Xmx均调到了768m.

2.可以修改一下Eclipse的代码提示等。参看

http://www.huqiwen.com/2012/06/25/some-skill-about-myeclipse-eclipse/

3.Liferay的学习可以多看看Liferay官方网站的文档和WIKI,虽然质量不是很可,但也可以学到不少内容。

http://www.liferay.com/documentation/liferay-portal/6.1/development

http://www.liferay.com/community/wiki

liferay   6.1开发学习(二)创建一个Portlet工程。

使用Liferay的SDK创建一个简单的Portlet,此portlet不包括业务逻辑、不包括数据库,只有简单的页面展现,用以说明Portlet的开发过程。

一、创建Portlet工程

1.打开Liferay  IDE,File-->New-->Liferay    Project


2.为Portlet工程取名为Study,点击完成。或者点击下一步,默认选择Liferay  MVC。

补充说明:

Portlet:这个是一般做liferay开发选择的项目,一般说Liferay插件工程,通常就是指的Portlet工程。他的结构和内容和普通的WEB工程区别不大。

HOOK:liferay的HOOK是什么东西呢?这个单词中文可以翻译成钩子。是用于重写或覆盖Liferay的一些默认方法或页面。为开发提供了一种在不直修改Liferay核心源码的情况下修改Liferay核心功能的方法。

EXE:扩展工程的开发方法是Liferay早期版本推荐的开发方法,在6,x版本之后对ext开发模式逐渐不再推荐,主要使用Portlet的开发方法。扩展开发可以继承Liferay的Portal的大部分接口方法,而portal里面可以使用的接口方法均是Services包里面暴露的API。但是和Liferay的核心工程耦合太大,当Liferay的版本升级时对Ext工程的影响太大,基本需要重新修改,所以一般不体检使用EXT模式。

layout:布局模板,Liferay的布局是可以定制的,如一个页面中是两栏式还是三栏式,每个栏里面又有几行等等,可以使用此模式进行快速开发。

Theme:主题包。Liferay  IDE提供的可以帮助开发人员,设计人员快速开发Liferay主题包的功能,通过此模式提供的向导工作等,为主题包的开发大大的提供了便利。

Portlet部署:

Liferay开发大量依赖Ant(也可以使用maven),在Liferay的开发过程中,编译,代码生成,打包,部署等都是基于Ant完成的。

1.liferay的 IDE 在liferay的portal开发模式下,ant面板默认是可见的,如果找不到可以通过window-->show  View-->Ant(如果没有可以在other里面找到)

2.在ant页板里面,点击Add-buildfiles将Build.xml文件添加进来。


3.点击Study-portlet前面的小三角,在出现的下拉菜单里面,双击deploy,等待Liferay完成部署操作3.

如果在此时出现如下错误:

Task cannot continue because ECJ is not installed.

ECJ was automatically installed. Please rerun your task.

原因是ECJ包没有找到,ECJ是什么?ECJ, the Eclipse Compiler for Java, is an open source incremental compiler used by the Eclipse JDT. It is an option for Liferay builds and is in many cases faster than Javac or Jikes. The jar for ECJ is included in Liferay release 4.4.0 and later.http://www.liferay.com/community/wiki/-/wiki/Main/ECJ这是官方解释。大概意思是ECJ是一个编译优化包,可以提升比Javac和JIKES更好的编译速度。要想使编译通过,有两个两个方法:

方法一:禁用ECJ。在Liferay的SDK下面找到build.Administrator.properties,此处中间的Administrator名称不一定是这样的,具体体系名称是根据当前系统的用户名生成的。在里面添加如下内容

javac.compiler=modern
#javac.compiler=org.eclipse.jdt.core.JDTCompilerAdapter

方法二:将ECJ的包添加到ant的路径里面。ecj.jar包可以在Liferay的工程的源码包\lib\development下面找到。将此包添加到ant的路径里面。Windows-->preferences-->Ant-->Runtime,在右边的Classpath-->Ant Home Entries(Default) -->Add External JARs,将ecj包添加进来。

4.启动Tomcat此portlet工程会自动部署。

5.打开http://localhost:8080/登录系统。点击左上角的添加-->更多-->示例,在这里可以看到我们刚建立的study  portlet ,点击添加,可以将此portlet添加到页面上。


                                                                        portlet工程结构:

一个portlet工程的大概结构如下:


1.src:这里存储Java相关文件包,后面会看到还有一个services包。

2.web.xml:此web.xml和普通的web工程的web.xml文件一样。

3.build.xml此文件为ant的构建文件,一般不需要修改继承自SDK。

4.Liferay-plugin-package.properties,此文件为包工程的元数据信息文件,一般开发不需要关注。

5.portlet.xml:

portlet定义描述文件,这个文件是标准的portlet 2.0(JSR 268)规范的文件。在这里定义的信息为portlet的名称、初始化参数、模式类型、portlet的相关信息、权限等。在此文件里面我们可以看到view-template对应的是/view.jsp,当我们在Liferay里面添加此portlet后,看到的页面内容就是view.jsp里面的内容。下面的security-rol-ref定义的是哪些角色拥有此portlet的权限。

6.Liferay-portlet.xml:此文件是liferay扩展的portlet的内容,portlet.xml文件里面是标准的portlet内容,所有的portlet容器的portlet.xml文件描述、结构都是一样的。但是liferay基于自身平台的需求,又添加了一个liferay-portal.xml来扩展portlet的信息,在这里可以看到角色的映射,以及liferay的一些个性化信息,后面有需要的时候详细说明。

7.liferay-display.xml:在上一个步骤里面我们在添加portlet的时候,看到study这个portlet是位于示例这个目录下面的,此文件就是定义相关的portlet是放置在哪个目录下面显示的。

说明:在liferay里面,portlet的名称一般不要重复,portlet.xml,liferay-portlet.xml,liferay-display.xml这三个文件之间的关联就是通过portlet名称做标识进行关联的。

Liferay  开发学习:Portlet简述

在上一篇文章里面介绍的那个portlet是在创建工程时默认的portlet页面,可以对portlet有一个大概的认识,但是很难全面。本篇文章对于liferay中基于MVC的portlet创建做一个相对详细的描述。

一、portlet是什么:

portlet是基于java的web组件,由portlet内容管理器,并由容器处理请求,生产动态内容。portals使用portlets作为可插拔用户接口组件,提供信息系统的表示层,作为利用servlets进行web应用编程的下一步,portlets实现了web应用的模块化和用户中心化。 portlet规范,即jsr(Java Standardization Request )168/268,是为了实现portal和portlet的互操作。它定义了portlet和portlet容器之间的和约,让portlet实现个性化、表示和安全的api集。规范还定义了怎样在portlets应用中打包portlets。(引自百度百科:http://baike.baidu.com/view/58961.htm

liferay是portlet规范的实现,对于portlet规范实现的主流产品有IBM、Oracle等的portal产品,主流产品的详细可以参看:http://www.huqiwen.com/2012/06/11/what-is-liferay/ 

此篇文章中关于liferay市场地位处的图片,很多时候我们将liferay称为一个portal容器,也就是一个提供portlet运行的环境。

二、创建一个portlet

1.基于上一节的study这个portlet工程的基础,点击liferay IDE上的liferay工具栏,有三个按钮,点击中间按钮,new  liferay  portlet  如下图,点击下一步

Portlet plugin project: 这里选择要创建的portlet属于哪个插件工程。

Source folder:类的放置位置,一般默认。

Portlet Class:要创建的portlet的控制类的名称,可以将此类看作strus中的Action类。

Java package:包名。

Superclass:选择要继承哪个类。一般默认,也就是MVCportlet.下面这几个类的关系如下:

MVCPortlet是LiferayPortlet的子类,LiferayPortlet是GenericPortlet的子类。在MVCPortlet中封装了一些方便开发的方法,所以一般使用MVCPortlet,如果有特殊需求可以使用他们的父类。

2.在此步骤看到的是portlet的相关信息,如模式,jsp位置等,此步骤是portlet.xml文件的可视化编辑,此步骤的所有选项都可以通过编辑portlet.xml完成,点击下一步。


Porltet Info:这里显示的是porltet的名称,显示名称,标题等。一般默认,不需要修改。

Portlet Modes: 这里是portlet的模式。View、Edit、Help这三种模式,是portlet规范里面定义的。

Liferay Portlet Modes:看名知义,liferay  portlet模式。一般默认即可。portlet默认的三种模式,liferay认为不能满足实际的需求,所以又增加了这几种模式。如果选择多个模式,就可以在portlet的设置里面看到,可以通过设置进行切换,方便进行一些特殊需求,如:config可以用来开发可配置portlet,管理员可以为指定的portlet定制相关的参数等等。

JSP folder:jsp的存放位置,一般默认的命名是html/portlet名称,一般默认即可,html是相对于docroot的,完整路径是:docroot/html/demo/view.jsp。

Create resource bundle file: 绑定资源文件,主要是国际化,如果想要porltet的名称是中文的,则必须使用资源文件,liferay推荐工程中的所有文字描述类的内容都使用资源文件来定义,这样方便国际化,也能避免出现一些可能的乱码问题,这里先不选,后面详讲国际化。

3.此步骤是Liferay-portlet.xml和liferay-display.xml 的可视化编辑,点击完成即可。

ICON:此portlet的图标。

Allow mutiple instaces:是否允许在同一个页面中有多个portlet的实例,默认为否。

CSS:当前portlet的自定义css,一般默认。

JavaScript:当前portlet自定义js,一般默认。

CSS classname: 当前portlet的命名空间,防止css和其他的portlet冲突。

Category:当前的portlet,显示在哪个分类下面,这里是Liferay-display.xml文件的可视化编辑。

三、MVCPortlet的简单使用

可以看到工程的com.huqiwen.study包下面生成了一个Demo的java文件,如果只是让portlet示/html/demo/view.jsp里面的内容,则不需要在Demo.java文件里面添加内容。如果需要让view.jsp后从台初始化一些信息,则需要重写doView文法。view模式显示时调用doView方法,edite模式显示时调用doEdite方法,config模式显示时调用doConfig方法,依此类推。

四 其他:

在二里面创建的内容都可以通过修改portlet.xml,liferay-portlet.xml,liferay-display.xml等来进行修改调整,穿件向导包含的知识一些最通用的内容,一些高级的参数还需要通过修改portlet.xml和liferay-portlet.xml来完成。

通过向导默认portlet的view展现的jsp命名为view.jsp此名可以在docroot下面修改相应的内容,实际开发中建议命名中也业务相关的,方便后期查找识别,如用户的可以命名为userView   等,修改名称的同时还要修改Portlet.xml里面的init-param对应的名称,否则会找不到相应的页面,

                    Liferay  开发学习  server builder


一、什么是Service   Builder

Service Builder是Liferay IDE(SDK)提供的一种代码生成方案,开发人员只需要编辑一个数据库的实体描述文件,即可根据本XML文件生成Spring层代码、Hibernate层代码、SQL、SQL索引创建文件、Spring和hibernate的配置文件等,可以大提高开发人员的效率。简单说就是根据数据库描述文件,生成service层和持久化层的代码,开发人员只需要关注控制层即可。

二、Service   Builder的使用
1.首先需要一个portlet的插件工程,

创建方法,参考http://www.huqiwen.com/2012/09/01/liferay-6-1-development-studey-2-create-portlet-project/

2.打开Liferay IDE,点击工具栏中Liferay工具的中间按钮,New Liferay Service Builder,弹出的向导如下,填写相关信息,点击完成。


Plugin Project:将用于哪个工程,如果有多个工程,请看仔细。

Service file:数据库描述文件的文件名,使用向导不可更改(可以手动改,后面详述)。












0 0
原创粉丝点击