Có hai yếu tố làm ảnh hưởng đến giao diện của Page: Theme và Layout.
Theme có liên quan đến color+image+template
Layout có liên quan đến bố cục trang, phân chia trang thành từng cell như trong một table.
Bài viết này tôi xin giới thiệu cách viết một theme trong Liferay Extension Environment.Ghi chú:Trong bài viết này tôi sử dụng Liferay Portal Professional 4.2
Có hai cách:
Cách 1: Viết theme như một web application
Trong phương pháp này, theme là một web application. Khi deploy, theme sẽ nằm ngang hàng với ROOT (trong trường hợp bạn dùng Tomcat server).
Giả sử đối với theme breeze-themes-4.2.0 , cấu trúc thư mục sẽ như sau
Để viết theme dạng này, cách nhanh nhất là bạn download một theme mẫu (ví dụ breeze-themes-4.2.0). Sau đó bạn extract theme này vào thư mục ext\themes như sau:
Bây giờ bạn hãy vào chỉnh sửa tên của theme trong file web.xml và liferay-look-and-feel.xml, chỉnh sửa color + image + template theo ý bạn.
Sau đó bạn vào thư mục ext\themes và chạy: ant deploy
Kiểm tra trong thư mục webapps của Tomcat, bạn sẽ thấy như hình dưới đây:
Cách 2: Viết theme như một phần của portal
Tôi thích cách này hơn, vì thấy sự gọn gàng và đơn giản. Theme không phải là một web application mà là một phần của portal, tương đương như các default theme.
Để lấy ví dụ, chúng ta hãy tạo một theme khác tên là estyle
Đầu tiên, bạn hãy tạo thư mục: liferay\ext\ext-web\docroot\html\themes\estyle.
Sau đó, bạn hãy copy nội dung của theme mẫu Brochure trong thư mục \liferay\portal\portal-web\docroot\html\themes\brochure vào thư mục estyle vừa tạo.
Kết quả sẽ trông như thế này:
Khai báo theme mới:
Bạn tạo file \ext\ext-web\docroot\WEB-INF\liferay-look-and-feel-ext.xml
(xin lỗi vì trong bản viết đầu tiên mình ghi sai là \ext\ext-web\docroot\html\liferay-look-and-feel-ext.xml)
với nội dung như sau:
-------------------------------
<?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.2.0</version>
</compatibility>
<company-limit>
<company-includes />
<company-excludes />
</company-limit>
<theme id="estyle" name="estyle">
<root-path>/html/themes/estyle</root-path>
<templates-path>/html/themes/estyle/templates</templates-path>
<images-path>/html/themes/estyle/images</images-path>
<template-extension>jsp</template-extension>
<color-scheme id="01" name="Default">
<![CDATA[
body-bg=#FFFFFF
layout-bg=#F2F2F2
layout-text=#000000
layout-tab-bg=#E0E0E0
layout-tab-text=#000000
layout-tab-selected-bg=#6699CC
layout-tab-selected-text=#4A517D
portlet-title-bg=#132b47
portlet-title-text=#FFFFFF
portlet-menu-bg=#B6CBEB
portlet-menu-text=#000000
portlet-bg=#F2F2F2
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=#596171
portlet-section-header-bg=#AFBEDA
portlet-section-subheader=#405278
portlet-section-subheader-bg=#91AEE8
portlet-section-body=#3F3F3F
portlet-section-body-bg=#EAF2FF
portlet-section-body-hover=#FFFFFF
portlet-section-body-hover-bg=#5274AE
portlet-section-alternate=#3F3F3F
portlet-section-alternate-bg=#DBE1ED
portlet-section-alternate-hover=#FFFFFF
portlet-section-alternate-hover-bg=#5274AE
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>
-------------------------------
Chỉnh sửa theme này theo ý bạn. Sau đó deploy bằng lệnh:
-------------------------------------
Kiểm tra: Bây giờ bạn hãy khởi động lại tomcat, login (username=test@liferay.com, password=test). Nhấn vào mục Page Setting, chọn theme estyle !
Chúc bạn tạo được những theme theo ý muốn.
See also: Cách tạo layout (đang cật nhập)
______________________________________________________
Tạo một theme cho riêng bạn - Create your own theme
Chỉnh sửa lần cuối lúc 1/13/2007 10:45:00 CH - Chủ đề liên quan: Theme and Layout
RSS Feeds:
Đăng Nhận xét (Atom)
Hiện có (6) phản hồi:
chào bạn, mình là friendss bên diễn đàn javavietnam, mình đã làm như bạn hướng dẫn nhưng không hiểu sao themes mới vẫn không thấy xuất hiện trong look and feel để mình chọn, không biết còn thiếu bước nào không nữa, bạn kiểm tra lại giúp mình nhé! thanks!!!
Bạn cần cho thêm thông tin thì may ra mình đoán được nguyên nhân. Còn nói chung chung thế này thì chịu luôn.
Bạn dùng cách 1 (tạo Theme trong EXT) hay cách 2 (tạo Theme là 1 web-application độc lập, đóng gói thành WAR rồi deploy) ?
Trong quá trình tạo theme, có báo lỗi gì không ?
Đầu tiên bạn thử download 1 theme mẫu về deploy thử xem sao.
mình làm theo cách 2 (tạo themes như một phần của portal) như sau:
tạo thư mục liferay\ext\ext-web\docroot\html\themes\aqua
download aqua-themes-4.2.0.war vào đĩa C:\
copy nội dung thư mục C:\aqua-themes-4.2.0.war\html\themes\aqua\ vào thư mục aqua vừa tạo ở trên liferay\ext\ext-web\docroot\html\themes\aqua\
tạo file liferay\ext\ext-web\docroot\html\liferay-look-and-feel-ext.xml với nội dung giống như file của bạn chỉ khác là mình thay estyle=aqua; template-extension=vm (do những file này có phần mở rộng là vm)
sau đó deploy như bạn hướng dẫn, không có vấn đề gì xảy ra, build successful
sau đó mình restart lại tomcat, đăng nhập vào, chọn page setting, look and feel nhưng chẳng thấy themes aqua đâu cả.
bạn xem mình làm vậy có gì sai không nhé. thanks!
Mình vừa download cái theme Aqua về làm thử. Phát hiện ra một lỗi sai trong bài viết là :
file liferay-look-and-feel-ext.xml phải để trong ext\ext-web\docroot\WEB-INF chứ không phải để trong ext\ext-web\docroot\html (Sorry nha).
friendss lưu ý là: theme Aqua ở dạng WAR, tức là một web application rồi. Nên nếu bạn extract rồi copy y chang nội dung của theme này vào theme mới của bạn thì không được. Để làm theo cách 2 đối với theme Aqua này, bạn nên copy nội dung file Aqua\Web-inf\liferay-look-and-feel.xml vào liferay-look-and-feel-ext.xml. Sau đó xóa hẳn hai thư mục Aqua\WEB-INF và Aqua\META-INF đi. Mọi khai báo theme mới đều nằm trong liferay-look-and-feel-ext.xml nên để hai thư mục này ở đây là không cần thiết.
File liferay-look-and-feel-ext.xml thay đổi tùy theo theme, nên nếu bạn định phát triển theme của mình từ theme mẫu thì tốt nhất nên copy y chang nội dung file liferay-look-and-feel.xml của theme đó.
Nhìn hình có lẽ dễ hiểu hơn
Cấu trúc thư mục nguyên thủy của theme Aqua
http://img245.imageshack.us/img245/2773/aqua1ky0.png
Bạn nên copy và chỉnh lại như sau:
http://img250.imageshack.us/img250/1530/aqua2wx3.png
(Sorry không post hình trực tiếp trong comment được)
Cũng cần lưu ý tên thư mục cho đúng ở phần:
<root-path</html/themes/aqua</root-path>
<templates-path</html/themes/aqua/templates</templates-path>
<images-path</html/themes/aqua/images</images-path>
Hi vọng bạn làm xong!
cảm ơn bạn nhiều nhé, mình đã làm được rồi, có gì nhờ bạn chỉ dẫn thêm nhé!!!
bạn nghiên cứu liferay này bao lâu mà giỏi vậy, có đọc thêm sách gì hay giới thiệu cho mình với. thanks!
Mấy trò hack hiếc linh tinh này có gì đâu mà giỏi.
Mình cũng chỉ mới học Java từ tháng 8/2007 trở lại đây thôi. Nhưng mình không học theo kiểu ngồi đọc eBook gù cả lưng mà làm đại 1 project nào đó, đụng vấn đề nào thì tìm tutorial/ebook về vấn đề đó.
Theo mình thì quan trọng là học Java phải có hứng thú, chứ học theo kiểu "bị học Java" thì không ăn thua gì.
Wish you have fun with Java :)
Gửi ý kiến của bạn