毛里求斯的化石博物館
posts - 12, comments - 19, trackbacks - 0, articles - 23
BlogJava
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
Liferay Portal學(xué)習(xí)筆記之(五):開(kāi)發(fā)主題風(fēng)格theme (轉(zhuǎn)載)
Posted on 2006-09-09 16:36
毛里求斯的化石
閱讀(1186)
評(píng)論(0)
編輯
收藏
所屬分類(lèi):
portal相關(guān)
Liferay Portal為我們提供了非常靈活的主題風(fēng)格定制功能,自身帶了四種風(fēng)格的theme,在官方網(wǎng)站上提供了很多風(fēng)格theme的下載,這無(wú)疑大大增強(qiáng)了主題風(fēng)格定制的功能。但是,我們完全可以開(kāi)發(fā)具有自己風(fēng)格的theme,這里,我們將討論怎樣來(lái)開(kāi)發(fā)個(gè)性的theme。
第一步:我們將以現(xiàn)有風(fēng)格classic為模板文件創(chuàng)建新的theme,我們將新theme命名為coldtear
1、將liferay/html/themes目錄下的classic文件夾copy一份副本,并修改副本的文件夾名為coldtea
2、在liferay/web-inf目錄下新建liferay-look-and-feel-ext.xml文件,文件liferay-look-and-feel.xml是定義主題風(fēng)格theme的配置文件,為了加以區(qū)分,我們?cè)谶@里新建了該文件的擴(kuò)展文件liferay-look-and-feel-ext.xml,該文件內(nèi)容如下:
<?
xml?version
=
"
1.0
"
?>
<!
DOCTYPE?look
-
and
-
feel?PUBLIC?
"
-//Liferay//DTD?Look?and?Feel?4.0.0//EN
"
?
"
http://www.liferay.com/dtd/liferay-look-and-feel_4_0_0.dtd
"
>
<
look
-
and
-
feel
>
????
<
compatibility
>
????????
<
version
>
4.0
.
0
</
version
>
????
</
compatibility
>
????
<
company
-
limit
>
????????
<
company
-
includes?
/>
????????
<
company
-
excludes?
/>
????
</
company
-
limit
>
????
<
theme?id
=
"coldtear
"
?name
=
"ColdTear
"
>
????????
<
root
-
path
>/
html
/
themes
/
coldtear
</
root
-
path
>
????????
<
templates
-
path
>/
html
/
themes
/
coldtear
/
templates
</
templates
-
path
>
????????
<
images
-
path
>/
html
/
themes
/
coldtear
/
images
</
images
-
path
>
????????
<
template
-
extension
>
jsp
</
template
-
extension
>
????????
<
color
-
scheme?id
=
"
01
"
?name
=
"
Blue
"
>
????????????
<!
[CDATA[
????????????????body
-
bg
=
#FFFFFF
????????????????
????????????????layout
-
bg
=
#FFFFFF
????????????????layout
-
text
=
#
000000
????????????????layout
-
tab
-
bg
=
#E0E0E0
????????????????layout
-
tab
-
text
=
#
000000
????????????????layout
-
tab
-
selected
-
bg
=
#6699CC
????????????????layout
-
tab
-
selected
-
text
=
#4A517D
????????????????portlet
-
title
-
bg
=
#6699CC
????????????????portlet
-
title
-
text
=
#4A517D
????????????????portlet
-
menu
-
bg
=
#B6CBEB
????????????????portlet
-
menu
-
text
=
#
000000
????????????????portlet
-
bg
=
#FFFFFF
????????????????portlet
-
font
=
#
000000
????????????????portlet
-
font
-
dim
=
#C4C4C4
????????????????portlet
-
msg
-
status
=
#
000000
????????????????portlet
-
msg
-
info
=
#
000000
????????????????portlet
-
msg
-
error
=
#FF0000
????????????????portlet
-
msg
-
alert
=
#FF0000
????????????????portlet
-
msg
-
success
=
#007F00
????????????????portlet
-
section
-
header
=
#
094170
????????????????portlet
-
section
-
header
-
bg
=
#ADBDFB
????????????????portlet
-
section
-
subheader
=
#
405278
????????????????portlet
-
section
-
subheader
-
bg
=
#91AEE8
????????????????portlet
-
section
-
body
=
#000000
????????????????portlet
-
section
-
body
-
bg
=
#E2E7FA
????????????????portlet
-
section
-
body
-
hover
=
#FFFFFF
????????????????portlet
-
section
-
body
-
hover
-
bg
=
#AC6CFA
????????????????portlet
-
section
-
alternate
=
#
000000
????????????????portlet
-
section
-
alternate
-
bg
=
#CFD7FB
????????????????portlet
-
section
-
alternate
-
hover
=
#FFFFFF
????????????????portlet
-
section
-
alternate
-
hover
-
bg
=
#AC6CFA
????????????????portlet
-
section
-
selected
=
#7AA0EC
????????????????portlet
-
section
-
selected
-
bg
=
#FAFCFE
????????????????portlet
-
section
-
selected
-
hover
=
#00329A
????????????????portlet
-
section
-
selected
-
hover
-
bg
=
#C0D2F7
????????????]]
>
????????
</
color
-
scheme
>
????
</
theme
>
</
look
-
and
-
feel
>
這里,注意的是修改theme的id和name,以及root-path、templates-path和images-path的路徑,這樣,我們就可以在主題風(fēng)格頁(yè)面看到我們新的theme了。
第二步、分析classic的主題布局的劃分
1、打開(kāi)liferay/html/theme/coldtear/templates目錄,該目錄下存放著很多jsp文件,打開(kāi)portal_normal.jsp文件可以看到,該文件是整個(gè)頁(yè)面的主體,通過(guò)<liferay-util:include />標(biāo)簽和<%@ include>方法包含了很多jsp文件,其中top.jsp文件定義了頭部信息,navigation.jsp定義了導(dǎo)航菜單,bottom.jsp定義了底部語(yǔ)言標(biāo)簽信息,而頁(yè)面的主體信息是由<liferay-theme:box />標(biāo)簽定義的,top="portlet_top.jsp"定義了portlet的標(biāo)題欄信息,bottom="portlet_bottom.jsp"定義了portlet下面的陰影線,portlet的內(nèi)容則是由<liferay-util:include page="<%= Constants.TEXT_HTML_DIR + tilesContent %>" />定義的。所有的css樣式信息是定義在css_cached.jsp文件中的。
2、liferay portal的頁(yè)面定義大部分地方都采用了DIV+CSS的方式,下面將以classic的整個(gè)DIV定義框架給出,以說(shuō)明classic風(fēng)格的定義方法。
<
div?id
=
"
layout-outer-side-decoration
"
>
<
div?id
=
"
layout-inner-side-decoration
"
>
<
div?id
=
"
layout-box
"
>
????
<!--
?定義頭部信息?top.jsp?
-->
????
<
div?id
=
"
layout-top-banner
"
>
????????
<
div?id
=
"
layout-user-menu
"
?style
=
"
text-align:?right;
"
>
????????????
<
div?
class
=
"
font-small
"
?style
=
"
margin-top:?5px;
"
>
????????????????
<
div?id
=
"
layout-my-places
"
>
????????????????????
<
div?id
=
"
p_p_id_49_
"
?
class
=
"
portlet-boundary
"
>
????????????????????????
<
div?
class
=
"
portlet-borderless-container
"
>
????????????????????????
</
div
>
????????????????????
</
div
>
????????????????
</
div
>
????????????
</
div
>
????????
</
div
>
????
</
div
>
????
<!--
?定義導(dǎo)航菜單?navigation.jsp?
-->
????
<
div?id
=
"
layout-nav-container
"
>
????????
<
div?
class
=
"
layout-nav-tabs-box
"
>
????????????
<
div?
class
=
"
layout-tab
"
></
div
>
????????????
<
div?
class
=
"
layout-tab
"
></
div
>
????????????
<
div?
class
=
"
layout-tab-selected
"
></
div
>
????????????
<
div?
class
=
"
layout-tab
"
></
div
>
????????
</
div
>
????????
<
div?id
=
"
layout-global-search
"
></
div
>
????
</
div
>
????
<
div?
class
=
"
portlet-bottom-decoration-2
"
><
div
><
div
></
div
></
div
></
div
>
????
<!--
?定義主體portlet信息部分??
-->
????
<
div?id
=
"
layout-content-outer-decoration
"
>
????????
<
div?id
=
"
layout-content-inner-decoration
"
>
????????????
<
div?id
=
"
layout-content-container
"
>
????????????????
<
div?id
=
"
layout-column_column-1
"
>
????????????????????
<
div?id
=
"
p_p_id_73_INSTANCE_9Q28_
"
?
class
=
"
portlet-boundary
"
>
????????????????????????
<
div?
class
=
"
portlet-container
"
>
????????????????????????????
<!--
?定義portlet標(biāo)題欄信息?portlet
-
top.jsp?
-->
????????????????????????????
<
div?
class
=
"
portlet-header-bar
"
?id
=
"
portlet-header-bar_73_INSTANCE_9Q28
"
?onmouseover
=
"
PortletHeaderBar.show(this.id)
"
?onmouseout
=
"
PortletHeaderBar.hide(this.id)
"
>
????????????????????????????????
<
div?
class
=
"
portlet-wrap-title
"
>
????????????????????????????????
</
div
>
????????????????????????????????
<
div?
class
=
"
portlet-small-icon-bar
"
?style
=
"
display:?none;
"
>
????????????????????????????????
</
div
>
????????????????????????????
</
div
>
????????????????????????????
<!--
?定義portlet內(nèi)容信息??
-->
????????????????????????????
<
div?
class
=
"
portlet-box
"
>
????????????????????????????????
<
div?
class
=
"
portlet-minimum-height
"
>
????????????????????????????????????
<
div?id
=
"
p_p_body_73_INSTANCE_9Q28
"
?
>
????????????????????????????????????????
<
div?
class
=
"
slide-maximize-reference
"
>
????????????????????????????????????????????
<
div?id
=
"
p_p_content_73_INSTANCE_9Q28_
"
?style
=
"
margin-top:?0;?margin-bottom:?0;
"
>
????????????????????????????????????????????
</
div
>
????????????????????????????????????????
</
div
><!--
?slide
-
maximize
-
reference?
-->
????????????????????????????????????
</
div
>
????????????????????????????????
</
div
>
????????????????????????????
</
div
><!--
?end?portlet
-
box?
-->
????????????????????????????
<!--
?定義portlet底部陰影線?portlet
-
bottom.jsp?
-->
????????????????????????????
<
div?
class
=
"
portlet-bottom-decoration-2
"
><
div
><
div
></
div
></
div
></
div
>
????????????????????????
</
div
><!--
?End?portlet
-
container?
-->
????????????????????
</
div
>
????????????????????
<!--
?定義一個(gè)空的portlet區(qū)域?
-->
????????????????????
<
div?
class
=
"
layout-blank-portlet
"
></
div
>
????????????????
</
div
>
????????????
</
div
>
????????
</
div
>
????
</
div
>
????
<!--
?定義底部信息?bottom.jsp?
-->
????
<
div?id
=
"
layout-bottom-container
"
></
div
>
</
div
><!--
?End?layout
-
box?
-->
</
div
>
</
div
><!--
?End?layout
-
outer
-
side
-
decoration?
-->
這里我們可以看到classic的整體DIV定義框架,注釋部分對(duì)每個(gè)部分的定義都做了區(qū)分。
第三步、根據(jù)這樣一個(gè)結(jié)構(gòu),我們可以設(shè)計(jì)自定義theme風(fēng)格的結(jié)構(gòu),然后將各個(gè)區(qū)域細(xì)化到各個(gè)jsp文件中,并配以特定的圖片和樣式就可以實(shí)現(xiàn)自定義theme,為了達(dá)到更好的顯示效果,需要教好的掌握CSS的各個(gè)屬性和使用方法。
新用戶(hù)注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
相關(guān)文章:
Liferay Portal學(xué)習(xí)筆記之(五):開(kāi)發(fā)主題風(fēng)格theme (轉(zhuǎn)載)
Liferay Portal學(xué)習(xí)筆記(四):搭建開(kāi)發(fā)環(huán)境 (轉(zhuǎn)載)
Liferay Portal學(xué)習(xí)筆記(三):自定義頁(yè)面布局Template (轉(zhuǎn)載)
Liferay Portal學(xué)習(xí)筆記(二):使用CMS (轉(zhuǎn)載)
Liferay Portal學(xué)習(xí)筆記(一):安裝 (轉(zhuǎn)載)
Hello World,一個(gè)簡(jiǎn)單的JSR 168 portlet(轉(zhuǎn)載)from smoking_boy
Portlet應(yīng)用開(kāi)發(fā) (JSR168)(四)
Portlet應(yīng)用開(kāi)發(fā) (JSR168)(三)
Portlet應(yīng)用開(kāi)發(fā) (JSR168)(二)
Portlet應(yīng)用開(kāi)發(fā) (JSR168)(一)
Powered by:
BlogJava
Copyright © 毛里求斯的化石
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(8)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
(10)
portal&portlet(2)
SOA學(xué)習(xí)園地(2)
開(kāi)源(5)
雜談(1)
隨心所欲
隨筆檔案
(11)
2007年8月 (3)
2006年9月 (3)
2006年8月 (5)
文章分類(lèi)
(23)
java&js相關(guān)(8)
jms(3)
oracle-運(yùn)行管理(1)
portal相關(guān)(10)
工作流(1)
文章檔案
(23)
2007年3月 (4)
2006年9月 (13)
2006年8月 (6)
收藏夾
Oracle
搜索
最新評(píng)論
1.?re: portal和portlet基本概念介紹
希望了解JBOSS運(yùn)行Portlet的知識(shí)。也希望了解Vignette中配置Portal的知識(shí)。
--Dora
2.?re: 滅絕動(dòng)物:渡渡鳥(niǎo)
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--網(wǎng)友
3.?re: 滅絕動(dòng)物:渡渡鳥(niǎo)
感覺(jué)渡渡鳥(niǎo)就如我國(guó)的大熊貓,讓人感覺(jué)它笨拙可愛(ài),沒(méi)有防御能力憂人愛(ài)憐!
T_T
--王儒棋 T_T
4.?re: 滅絕動(dòng)物:渡渡鳥(niǎo)
人類(lèi)太殘忍了吧!!! T_T
--王儒棋 T_T
5.?re: 滅絕動(dòng)物:渡渡鳥(niǎo)
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--safs
閱讀排行榜
1.?sakai安裝配置(一)(更新了依賴(lài)清單)(5194)
2.?sakai安裝配置(二)(3148)
3.?sakai安裝配置(三)(1960)
4.?sakai安裝配置(四)(1890)
5.?portal和portlet基本概念介紹(1872)
評(píng)論排行榜
1.?sakai安裝配置(一)(更新了依賴(lài)清單)(6)
2.?滅絕動(dòng)物:渡渡鳥(niǎo)(6)
3.?portal和portlet基本概念介紹(1)
4.?sakai安裝配置(四)(1)
5.?sakai安裝配置(三)(1)
主站蜘蛛池模板:
日本特黄特色AAA大片免费
|
亚洲日本VA午夜在线影院
|
亚洲中文久久精品无码1
|
亚洲天堂2017无码中文
|
国产成人综合亚洲
|
精品久久久久久国产免费了
|
亚洲国产成AV人天堂无码
|
亚洲一区二区无码偷拍
|
亚洲人成人77777网站不卡
|
亚洲国产午夜精品理论片在线播放
|
久久精品国产亚洲一区二区
|
亚洲美女中文字幕
|
亚洲第一成年免费网站
|
mm1313亚洲精品无码又大又粗
|
亚洲一区二区三区自拍公司
|
亚洲黄色三级视频
|
99亚洲男女激情在线观看
|
99re8这里有精品热视频免费
|
亚洲精品国产免费
|
免费日韩在线视频
|
亚洲一级二级三级不卡
|
亚洲欧洲无码AV不卡在线
|
中文字幕av免费专区
|
青青青免费国产在线视频小草
|
亚洲?V乱码久久精品蜜桃
|
亚洲AV日韩精品久久久久久
|
亚洲国产区男人本色
|
国产精品视频白浆免费视频
|
免费看的黄色大片
|
亚洲AV无码成人精品区天堂
|
亚洲国产视频久久
|
国产自国产自愉自愉免费24区
|
亚洲一本大道无码av天堂
|
亚洲最大免费视频网
|
色吊丝性永久免费看码
|
日韩视频免费在线
|
亚洲第一中文字幕
|
美女又黄又免费的视频
|
日韩在线播放全免费
|
精品国产香蕉伊思人在线在线亚洲一区二区
|
久久青草免费91观看
|