- 1、本文档共29页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lifeary主题修改总结课案
Liferay主题修改总结
在eclipce中新建一个lifeary portlet工程,选择类型theme,工程名为:mytheme
如图所示:
选择插件类型Plugin type为theme,该工程目录结构如下
其中css文件存放的是样式表文件,images中存放的是页面中所用到的图片,js中存放脚本文件,_diffs文件存放我们需要自定义的文件,新建的时候为空,webapp目录有个welcom-theme主题,这个是liferay自带的主题,如图所示:
打开welcome-theme文件夹,然后拷贝如下几个文件夹
然后粘贴在我们新建工程目录下的_diffs文件夹下
主题修改,主要是针对templates和css这两个文件夹,templates存放的是vm文件如图所示:
这里需要注意了,在_diffs文件夹中的文件,在docroot目录下也各自有一份,我们一般不会直接修改docroot目录下的文件,而是修改_diffs目录下的文件,因为在_diffs目录下修改后的文件会自动覆盖docroot目录下对应的文件。
vm文件的格式和html差不多,采用velocity模版语言编写,关于velocity模版语言请参考文章末尾。
我们主要针对portal_normal.vm和navigation.vm文件进行修改,portal_normal.vm文件代表整个portal页面,其中navigation.vm文件被包含在了portal_normal文件中
在css文件中存放的是样式表文件:
其中custom.css文件是我们要修改的样式文件。
关于如何找到页面对应的样式需要结合vm文件来寻找,现在我们来把weclcom-theme主题中的横向导航条改成纵向导航条,并修改导航条的背景色、导航条目悬浮时的背景色、导航题目被点击过后的背景色以及下拉菜单条目的背景色,weclcom-theme主题中的原始样式如下:
导航顾名思义就应该知道需要到navigation.vm文件中去找,打开该文件:
很容易就发现了了class=“navbar-inner”这个css类选择器,那么就打开custom.css文件通过搜索关键字“navbar-inner”就找到了对应的样式代码
然后就需要修改导航里面具体题目了,通过观察navigation.vm文件,在我们的脑海中应该有如下模式:
nav
ul
lia/a/li
/ul
/nav
在ul标签中我们找到了名为”nav”的这个类选择器,如图所示:
那么修改导航条目相关样式就应该在这个在这个类选择器下去找了,
继续在custom.css文件中所示“.nav”找到那部分样式代码,如图所示:
通过字面意思就找到了鼠标悬浮时的背景色设置的地方为“.open”字样下面,被激活时的背景色在“.active”下面,下拉菜单选项背景色在“.dropdown-menu”字样下面,最后在类选择器“navigation”下面去修改整个导航的宽高以及位置,我将宽度设为了100px,高度随着内容而自动增长,定位方式设为绝对定位,如图所示:
所有的样式代码修改完后,保存并编译此工程,修改后的导航如图所示:
最后谈谈我对Velocity模版语言的一些理解,Velocity是为Web设计者和开发者而设计的,它可以和HTML标签混合,通过上下文context来控制页面中样式,在还HTML中写的Velocity代码可以被Velocity引擎所解析,Velocity引擎说白了就是一段java代码,就像servlet引擎一样,有了Velocity引擎就达到了视图层与显示层分离的效果,使得代码的维护性变得更加灵活,就拿navigation.vm文件的一段代码来说,如图所示:
这段代码的大概意思时,如果有某个导航条目被选中便将某个样式设置为“。。。。”
关于Velocity的一些语法细节,请参考下面:
Velocity是什么?
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
当Velocity应用于web开发时,界面设计人员可以和java程序开发人员同步开发一个遵循MVC架构的web站点,也就是说,页面设计人员可以只关注页面的显示效果,而由java程序开发人员关注业务逻辑编码。Velocity将java代码从web页面中分离出来,这样为web站点的长期维护提供了便利,同时也为我们在JSP和PHP之外又提供了一种可选的方案。
Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(template)产生SQL和PostScript、XML,它也可以被当作一个独立工具来产生源代码和报告,
您可能关注的文档
- led控制器的设计.docx
- LBZN电液执行机构说明书.doc
- LED显示屏合同模板.doc
- KKS编码原则.doc
- 农科院见习报告.doc
- 农艺工培训.ppt
- 农村生活污水汇集与人工湿地处理.pptx
- 农药基础知识培训资料.ppt
- led课设报告.docx
- 农药剂型讲座之一.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)