如何写一个漂亮的Liferay Theme 6.2
只要你看到的、想做出来的页面,都可以通过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 © 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.
如何写一个漂亮的Liferay Theme 6.2的更多相关文章
- ctex moderncv版本更新--用latex写一个漂亮的简历
我的电脑是win7系统32位,ctex版本是v2.9.2.164 full(http://www.ctex.org/CTeXDownload) 一直不太清楚moderncv里面类似\cventry这种 ...
- 再见HTML ! 用纯Python就能写一个漂亮的网页
我们在写一个网站或者一个网页界面的时候,需要学习很多东西,对小白来说很困难!比如我要做一个简单的网页交互: 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在 ...
- JS写一个漂亮的音乐播放器
先放上效果图: 正如图中所展示的播放器那样,我们用HTML+CSS+JS将这个效果实现出来. HTML页面布局 <div class="music"> <div ...
- PHP入门培训教程 一个漂亮的PHP验证码
如何写一个漂亮的PHP验证码?兄弟连PHP培训 小编分享一段代码给大家: <?php class Imagecode{ private $width ; private $height; pri ...
- 通过npm写一个cli命令行工具
前言 如果你想写一个npm插件,如果你想通过命令行来简化自己的操作,如果你也是个懒惰的人,那么这篇文章值得一看. po主的上一篇文章介绍了定制自己的模版,但这样po主还是不满足啊,项目中我们频繁的需要 ...
- 前端开发:如何写一手漂亮的 Vue
前几日听到一句生猛与激励并存,可怕与尴尬同在,最无奈也无解的话:"90后,你的中年危机已经杀到".这令我很受触动.显然,这有些夸张了,但就目前这日复一日的庸碌下去,眨眼的功夫,那情 ...
- [闲的蛋疼系列]从零开始用TypeScript写React的UI组件(0)-先写一个Button??
0.咸鱼要说的 一入前端深似海,咸鱼入海更加咸. 最近闲的蛋疼,手上年前的事也完成了7788了,借助[PG1]的话来说,我们要keep real. 咸鱼肯定不real 了,因为我们都活在梦里,所以咱们 ...
- 一个漂亮的php验证码类
一个漂亮的php验证码类(分享) 作者: 字体:[增加 减小] 类型:转载 下面小编就为大家分享一个漂亮的php验证码类.需要的朋友可以过来参考下 直接上代码: 复制代码 代码如下: //验证 ...
- (转)Python新手写出漂亮的爬虫代码2——从json获取信息
https://blog.csdn.net/weixin_36604953/article/details/78592943 Python新手写出漂亮的爬虫代码2——从json获取信息好久没有写关于爬 ...
随机推荐
- 用Java实现一个堆排序
堆可以看成是一个完全二叉树,而且非终端节点的值均不大于(不小于)其左右孩子节点的值.堆排序只需要一个记录大小的辅助空间,输出堆顶的值之后需要对堆进行调整建立新堆,找到剩下节点的最大值(最小值),反复执 ...
- 关于javascript 里面类型的判断
javacript至今共有7中类型 Six data types that are primitives: Boolean Null Undefined Number String Symbol (n ...
- SQL服务器更改名称后
SQL服务器更改名称后 编写人:CC阿爸 2014-6-15 在日常SQL 2005数据库的操作中,有时安装完成数据库后,再更名,造成部分SQL服务不能正常使用(在SQL2000 时,想都别想更名了) ...
- 图片来自腾讯,未经授权不可引用,js解决方法
问题记录,解决后来更新 js伪造Referer, 外链图片让用户浏览时,不发送 referer 字段给原网站的方法 A 网站引用了 B 站的 图片 <img src="b_url&qu ...
- 关于js一般对象与标配对象
当一个js函数对象被创建时,Function 构造器产生的函数对象会运行类似这样的一些代码 this.prototype={constructor:this} 新函数被赋予了一个prototype属性 ...
- IntentService 串联 按顺序执行(此次任务执行完才执行下一个任务)
IntentService与Service的最大区别就是前者依次执行,执行完当前任务才执行下一个任务,后者并发执行 在IntentService里面不写onCreate方法 MainActivity: ...
- centos彻底删除mysql
yum remove mysql mysql-server mysql-libs compat-mysql51rm -rf /var/lib/mysqlrm /etc/my.cnf查看是否还有mysq ...
- win7旗舰版在安装vs2010后向sql2008添加SQL_Server_Management详解
原文地址:http://blog.csdn.net/bruce_zeng/article/details/8202746
- Python超简单的HTTP服务器
Python超简单的HTTP服务器 安装了python就可以 python -m SimpleHTTPServer 执行这一个命令即可实现一个HTTP服务器,将当前目录设为HTTP服务目录,可以通过h ...
- Python脚本控制的WebDriver 常用操作 <十二> send_keys模拟按键输入
下面将使用WebDriver中的send_keys来模拟键盘按键输入 测试用例场景 send_keys方法可以模拟一些组合键操作: ctrl+a ctrl+c ctrl+v 等. 另外有时候我们需要在 ...