在Liferay中有时候我们上传文件到工程的目录下面会出现找不到的情况,比如我们以前在普通的java web工程中会在docroot目录下面建立一个upload的目录,将文件上传到这个目录下面,访问的时候可以通过:http://xxx/upload/xxx.jpg这样的形式访问。
但是进入到Liferay中,比如我们有一个工程Demo-portlet,我们在docroot目录下面建立一个目录upload,用来存储我们上传的文件路径,比如有文件abc.jpg。
这个时...
Liferay6.2.5GA6开发环境搭建
曾经写过两篇关于环境搭建的文章,如下:
《Liferay 6.1开发学习(一):环境搭建》
《Liferay 6开发学习(二十三):Liferay 6.2开发环境准备》
为什么要再单独写一篇关于6.2.5(GA6)的文章呢?因为我在群里面看到有不少人碰到这个问题,前面的两篇文章解决不了,之所以有这个问题是因为Liferay在不同的小版本里面还略有差异,上面两篇文章在特定的版本里面是有效果的,但是在6.2.5里面会还是会碰到问题...
Liferay7.0GA1发布
Liferay在4.1号发布了7.0正式版本GA1,下载地址:
https://sourceforge.net/projects/lportal/files/Liferay%20Portal/7.0.0%20GA1/
可以从如上地址中下载到SDK、安装包、war包以及SRC,如果是下载源码也可以从github上下载,Liferay现在的源代码都是在github上托管:
https://github.com/liferay/liferay-portal
Liferay 7.0的变化表参考之前的博客,《Liferay7.0的变化》。
以后博客上的文章会逐步的以7....
Liferay控制台Connect to www.google.com timed out
Liferay启动后,控制台有如下的报错:
org.apache.http.conn.ConnectTimeoutException: Connect to www.google.com/216.58.221.100:80 timed out
之所以出现这个错误是因为Liferay有一个插件去下载了google服务器的一个JS库。我们在后台将这个插件删除即可。
第一种方法:
在第一次启动Liferay之前,进入Portal目录/tomcat/webapps,将下面的opensocial-portlet这个目录直接删除即可,在启动Liferay之后就...
基于hook让liferay支持用户ID屏幕名称地址登录
我们知道在Liferay中可以使用用户ID、屏幕名称、邮件地址等三种模式中的一种进行登录。进行选择可以控制面板-->Portal设置-->认证处进行修改,如下图:
但是在某些情况下我们可能有特殊需求,希望用户输入userId、邮件地址、屏幕名称任意的一种都可以实现登录,这个时候我们只需要写一个简单的hook就可以实现此功能。
第一步:新建一个Hook工程。
第二步:新建一个Liferay的Hook配置,在里面选择se...
Liferay弹出层如何将弹出页面的值返回
在前面写过两篇关于如何在Liferay中进行弹出层的文章:
《Liferay 6.1开发学习(十三):弹出层/弹出对话框的使用》
《Liferay 6.2弹出层》
弹出之后,有时候我们有需求需要将当前弹出层的内容,写到父页面上,然后并关闭当前的弹出层。
首页弹出层的写法
如果要写一个返回值,并执行关闭的弹出层,这个的写法也有区别:
Liferay.provide(
window,
'<portlet:namespace />editAnswer',
...
如何在网页内容模板中获取标题、版本、作者等信息
在Liferay的网页内容模板中,我们可以方便的获取自定义的结构的字段的内容,但是有时候我们想要获取作者、标题、发布日期、版本、缩略图等信息时,却感觉找不到信息,Liferay有内置的提供,只不过很少有文档说明。
在Velocity模板中
$reserved-article-id.data
$reserved-article-version.data
$reserved-article-title.data
$reserved-article-create-date.data
$reserved-article-modified-date.data...
Liferay应用程序模板如何获取自定义结构的字段值
网页内容的结构和模板可以方便的用来呈现不同的内容,配置资源发布器可以发挥具大的作用。
在资源发布器的显示模板中,有时候需要获取自定义结构的字段,Lifray并未直接提供,下面介绍一下方法
在FreeMarker模板中
使用如下的代码即可,其中@name=是相应字段的名称,
<#assign assetRenderer = curEntry.getAssetRenderer()>
<#assign docXml = saxReaderUtil.read(assetRenderer.getArticle(...
Liferay7.0的变化
Liferay7.0目前还没有正式发布,已经发布到了7.0 RC1版本,基本要更新的功能已经差不多了,后续的还将有几个RC版,具体什么时候正式发布目前还难以确定。
重大变化
这里写的重大变化,是我个人感觉算是重大变化的哈,没有啥官方依据:
1、系统架构转向OSGI:全面的OSGI化,Liferay Portal本身也罢,以后开发的Portlet也罢,都将采用OSGI的组织,采用的是Apache Felix的实现http://felix.apache.org/
2、社...
Liferay 6.2弹出层/弹出框的实现
曾经写过一个6.1的弹出层的博客:《Liferay 6.1开发学习(十三):弹出层/弹出对话框的使用》。Liferay更新到6.2之后,在UI层采用了Bootstrap,所以很多写法有变化,弹出层的写法也是一样的。之前那篇博客里面的除了最后一个外,其他的都不能再使用。
在6.2里面如果要使用弹出层,需要使用如下的代码:
AUI().use('aui-modal',function(A) {
var modal = new A.Modal(
{
//bodyContent: ...