只要你看到的、想做出来的页面,都可以通过liferay theme来实现,至于具体实现凡方式,那就见仁见智了。

下面,我将介绍如何快速地建一个简单漂亮的liferay theme.

工具:liferay IDE 3.0, liferay SDK 6.2,liferay portal 6.2(至于怎么在哪里下载,请参考前面教程)

以上工具准备好了以后,就可以在网上随便找一个你喜欢的模板作为参考下载下来,等下我们就可以把你的theme改造成你想要的样纸啦。

下面是我做的成品:

下面就是具体制作过程啦:

1.打开liferay IDE选择建一个liferay的plugin项目

2.然后选择classic模式的,这个是liferay默认的theme,我们会在它的基础上进行修改,然后模板语言选择velocity,因为在62中liferay自己默认用的就是velocity,如果选freemaker的话,还需要对导航栏进行更多的修改。

3,然后theme就建成功啦,你可以把它部署到liferay portal上,发现它就是liferay传统的theme,然后我们就可以在它的基础上进行我们自己的修改了。

打开我们所建theme的目录结构,你会发现里面有一个differs的文件夹,等下你所要做的修改都要放在这个文件夹下才能生效,不建议直接修改portal原有的文件。

4.我现在主要要修改的就是导航栏部分和页脚。发现其实它的代码就在template/portal_normal.vm文件中,我就把这个文件夹连同文件一起拷贝到_diffs文件夹下,页脚是最好改的,找到页脚标签,原来代码如下

<footer id="footer" role="contentinfo">
<p class="powered-by">
#language ("powered-by") <a href="http://www.liferay.com" rel="external">Liferay</a>
</p>
</footer>

把它换成我想要的代码,我直接从模板中把它html页脚的代码拷进来了,如下:

<footer id="footer" role="contentinfo">
<div class="footer">
<div class="footer-mid">
<div class="container">
<div class="col-sm-3 ft-grid1">
<h3>Location</h3>
<p>Contrary to popular</p>
<p>perspiciatis</p>
<p>+10 999 333 52</p>
</div>
<div class="col-sm-3 ft-grid2">
<h3>Follow Us</h3>
<ul class="social-in">
<li><a href="#"><i> </i></a></li>
<li><a href="#"><i class="twitter"> </i></a></li>
<li><a href="#"><i class="dribbble"> </i></a></li>
</ul>
</div>
<div class="col-sm-6 ft-grid1">
<h3>Newsletter</h3>
<form>
<input type="text" value="" onfocus="this.value='';" onblur="if (this.value == '') {this.value ='';}">
<input type="submit" value="Subscribe">
</form>
</div>
<div class="clearfix"> </div>
</div>
</div>
<div class="class-footer">
<div class="container">
<div class="col-md-6 footer-grid">
<p >Copyright &copy; 2015.Company name All rights reserved.More Templates <a href="http://www.cssmoban.com/" target="_blank" title="模板之家">hello</a> - Collect from <a href="http://www.cssmoban.com/" title="网页模板" target="_blank">joye</a></p>
</div>
<div class="clearfix"> </div>
</div>
</div>
</div>
</footer>

这时你保存一下,在重新部署一下theme,你会发现footer的文字都上去了,但是没有css样式与图片,偷懒的方式就是,把原来模板文件中的css,image,js文件夹都拷贝到_diffs文件夹下。然后怎么把模板的css和liferay的theme关联起来呢,把liferay自带的main.css拷贝到_diffs文件夹下去,然后仿照里面的格式把模板的css文件全部包含进去。

然后再部署上去试一下效果,发现它的页脚部分就跟我们模板上的页脚一模一样啦。

需要注意的是,模板里面的某些css属性跟liferay的属性重合了,会改变原来的页面布局。这时你可能需要做的就是用不那么偷懒的方法了,不是把模板所有的css都包括进去,而是把你需要的属性包括进去。

5.然后导航修改的方法差不多,我随便 写了一个作为参考,可以看看我改的是哪些地方,有什么问题,哈哈,下次再改。

The most import thing is show u the code.

my-classic-theme

如何写一个漂亮的Liferay Theme 6.2的更多相关文章

  1. ctex moderncv版本更新--用latex写一个漂亮的简历

    我的电脑是win7系统32位,ctex版本是v2.9.2.164 full(http://www.ctex.org/CTeXDownload) 一直不太清楚moderncv里面类似\cventry这种 ...

  2. 再见HTML ! 用纯Python就能写一个漂亮的网页

    我们在写一个网站或者一个网页界面的时候,需要学习很多东西,对小白来说很困难!比如我要做一个简单的网页交互: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在 ...

  3. JS写一个漂亮的音乐播放器

    先放上效果图: 正如图中所展示的播放器那样,我们用HTML+CSS+JS将这个效果实现出来. HTML页面布局 <div class="music"> <div ...

  4. PHP入门培训教程 一个漂亮的PHP验证码

    如何写一个漂亮的PHP验证码?兄弟连PHP培训 小编分享一段代码给大家: <?php class Imagecode{ private $width ; private $height; pri ...

  5. 通过npm写一个cli命令行工具

    前言 如果你想写一个npm插件,如果你想通过命令行来简化自己的操作,如果你也是个懒惰的人,那么这篇文章值得一看. po主的上一篇文章介绍了定制自己的模版,但这样po主还是不满足啊,项目中我们频繁的需要 ...

  6. 前端开发:如何写一手漂亮的 Vue

    前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:"90后,你的中年危机已经杀到".这令我很受触动.显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情 ...

  7. [闲的蛋疼系列]从零开始用TypeScript写React的UI组件(0)-先写一个Button??

    0.咸鱼要说的 一入前端深似海,咸鱼入海更加咸. 最近闲的蛋疼,手上年前的事也完成了7788了,借助[PG1]的话来说,我们要keep real. 咸鱼肯定不real 了,因为我们都活在梦里,所以咱们 ...

  8. 一个漂亮的php验证码类

    一个漂亮的php验证码类(分享)   作者: 字体:[增加 减小] 类型:转载 下面小编就为大家分享一个漂亮的php验证码类.需要的朋友可以过来参考下   直接上代码: 复制代码 代码如下: //验证 ...

  9. (转)Python新手写出漂亮的爬虫代码2——从json获取信息

    https://blog.csdn.net/weixin_36604953/article/details/78592943 Python新手写出漂亮的爬虫代码2——从json获取信息好久没有写关于爬 ...

随机推荐

  1. 解决VirtualBox 上的XP 蓝屏,自动重复启动

    启动时的蓝屏显示错误信息是: STOP 0x000000CE (...) DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS intelppm. ...

  2. Elasticsearch的PHP的API使用(一)

    前提:在服务器上安装Elasticsearch  (host:192.168.1.10)   http://192.168.1.10:9200?_search?pretty 1:安装PHP的Elast ...

  3. u-boot、kernel和filesystem 执行过程分析

    标题: Uboot -kerne-root 启动流程 内容: ※uboot启动流程 ※Kernel启动流程 ※Root启动流程 ※构建根文件系统 /************************** ...

  4. CentOS 5.X安装LAMP最高版本环境

    #------------CentOS 5.X安装LAMP最高版本环境------------------#! /bin/sh #安装Apacheyum install httpd -y#1.关闭se ...

  5. 观察者(observer)设计模式

    转载:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 假设我们有个高档的热水器,我们给它 ...

  6. DataGridView 控件用法(可能不是很全面,因为这是自己常常用到的一些小总结):

    一.DataGridView属性设置 1.我们单击选中行的时候,默认是选择一个单元格,不能选择一整行,我们只需设置DataGridView的属性SelectionMode为FullRowSelect ...

  7. Silverlight读取Zip文件中的图片与视频

    首先看看Demo的截图: 下面我将一步步展示实现这个Demo的过程,这个需求就是读出Zip文件中的图片与视频. Demo整体架构: 首先我们准备几张图片和视频,然后将其压缩至resource.zip文 ...

  8. 基于HTML5 的人脸识别活体认证

    近几年,人脸识别技术在身份认证领域的应用已经有了较多应用,例如:支付宝.招行的取款.养老金领取等方面,但在杜绝假冒.认证安全性等方面,目前还是一个比较需要进一步解决的课题,特别是在移动端的活体认证技术 ...

  9. scala实现Netty通信

    在学习spark源码的时候看到spark在1.6之后底层的通信框架变成了akka和netty两种方式,默认的是用netty根据源码的思路用scala写了一个Demo级别的netty通信 package ...

  10. 添加TextView隐藏进度条的方法

    在TextView中添加 android:scrollbars="vertical" android:singleLine="false" 在Activity代 ...