一、开发环境搭建
软件环境:
必须:
liferay-ce-portal-tomcat-7.0-ga5-20171018150113838.zip
说明:Liferay的运行环境。
liferay-ide-eclipse-windows-x64-3.1.2-ga3-201709011126.zip
说明:开发所使用的IDE,其实就是一个基于Eclipse上运行的插件,当然也可以选择使用IDEA进行开发
所需要的软件都可以在这里找到:liferay官方
网上有太多传统的搭建方式,我们这里主要介绍官方最为推崇的OSGI模块模式。
网上几乎所有的介绍都是基于eclipse,我们这里介绍的是目前比较主流的ide工具:IDEA
1、下载插件
在idea plugin中下载Liferay相关插件
2、创建Liferay Project
3、创建之后的项目列表
如果创建完之后,不是这个目录结构,那应该是环境搭建失败了,需要重新加载项目结构。
二、初始化liferay服务
- 下载完毕 liferay-ce-portal-tomcat-7.0-ga5-20171018150113838.zip之后,需要先行解压
- 解压完毕之后,在其目录下的tomcat目录下的bin文件夹下启动tomcat
- 注意,这里的tomcat其实和普通的tomcat并没有太大的区别,只是多了一些liferay的jar包
- 启动好liferay服务之后
- 在浏览器输入localhost:8080
- 就会看到如下的页面
- 我们先将默认语言改为中文
- 这里默认的数据库有些时候并不能完成我们的日常业务需求
- 所以我们选择自定义数据库
- 这里我们就完成了数据库的配置
- 此时我们还要注意数据库要有一个对应的空的数据库
- 在你点击完成配置的时候,会有32个数据库初始化在你的这个数据库中
- 这时会让你同意条款
- 一直下滑,直至看到同意选项,点击同意即可完成
- 同意之后,会有让你设置密码
- 这里注意,如果你自定义了自己的数据库,那么就不会有这个设置密码环节
- 这里会有默认的账号和密码
- 账号:test@liferay.com
- 密码:test
- 设置新密码之后,会有一个密保环节
- 设置完密保之后,就完成了初始化的事情
- 之后,你就会进入liferay的主页。
- 恭喜你,liferay的世界你要打开大门了。
三、配置Liferay服务
首先在官网下载liferay服务:https://www.liferay.com/zh/downloads-community
后面一路OK就行
四、创建portlet
1、创建module
右键项目名选择new module,或者右键modules选择new module
2、自定义module
3、部署module
将生成的jar包放到Liferay服务器下的deploy目录中
4、启动服务测试
五、创建theme
1、新建module
2、创建主题
3、deploy
六、liferay进阶
1、portal.properties的配置
路径:/portal-master/portal-impl/src/portal.properties
后台打印sql的配置:Hibernate.show_sql=true
页面session超时时间设置:session.timeout=300
只有powerUser用户才会自动创建 用户私有页:
layout.user.private.layouts.power.user.required=true
只有powerUser用户才会自动创建 用户公开页:
layout.user.public.layouts.power.user.required=true
用户第一次登录时的相关配置:
- 关闭使用条款:terms.of.use.required=true
- 关闭密码提醒功能:users.reminder.queries.enabled=false
- 关闭首次登录强制修改密码功能:passwords.default.policy.change.required=false
2、中文乱码
在当前工程的build.gradle文件中添加如下信息:
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
然后重新执行deploy
页面乱码:在页面增加如下代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page contentType="text/html;charset=utf-8"%>
3、liferay表
附件保存在以dlfile开头的表里面
portlet自定义属性保存在portletpreferences表里面
assetEntry里面可以查看有哪些属性
web内容文章存储在journalarticle里面
liferay模板都是存储在ddmtemplate表里面
4、自定义字段
设置值和读取值
JournalArticle journalArticle = null;
journalArticle.getEcpandoBridge(</