programming4:theme:copy-from-deault-theme
Khác biệt
Đây là những khác biệt giữa hai phiên bản của trang.
Phiên bản trước của cả hai bênPhiên bản trướcPhiên bản sau | Phiên bản trước | ||
programming4:theme:copy-from-deault-theme [2016/06/17 08:41] – [4) Layout của giao diện] hoaquynhtim99 | programming4:theme:copy-from-deault-theme [2020/11/21 09:41] (hiện tại) – nguyennam | ||
---|---|---|---|
Dòng 1: | Dòng 1: | ||
====== Xây dựng giao diện bằng cách copy theme mặc định ====== | ====== Xây dựng giao diện bằng cách copy theme mặc định ====== | ||
- | ===== 1) Copy Giao diện ===== | + | ===== 1) Copy Giao diện |
- | Copy Giao diện mặc định | + | Copy Giao diện mặc định |
+ | > Ví dụ đặt tên là .../ | ||
- | ===== 2) Thay đổi hình minh họa của giao diện ===== | ||
- | / | + | ===== 2) Xóa các phần thừa ===== |
- | ảnh này có kích thước chiều rộng là 300px, chiều cao từ 150 - 200px | + | Vào thư mục ''/ |
- | ===== 3) Giao diện của các Module ===== | + | Vào thư mục css xóa hết các file chừa lại '' |
+ | |||
+ | Vào thư mục images xóa hết chừa lại thư mục '' | ||
+ | |||
+ | Vào thư mục js xóa hết các file chừa lại '' | ||
+ | |||
+ | Vào thư mục language xóa '' | ||
+ | |||
+ | Vào thư mục layout xóa các: | ||
+ | * Template block: '' | ||
+ | * Xóa các file layout '' | ||
+ | |||
+ | |||
+ | ===== 3) Thay đổi hình minh họa của giao diện ===== | ||
+ | Mở config.ini cấu hình lại các thông số tên giao diện, tác giả, mô tả, website | ||
+ | |||
+ | Hình minh họa của giao diện là ''/ | ||
+ | |||
+ | > Ảnh này có kích thước chiều rộng là '' | ||
+ | |||
+ | Trong config.ini xóa hết các thẻ setlayout, setblocks và nội dung trong nó. Cấu hình lại layout mặc định trong thẻ < | ||
+ | |||
+ | ===== 4) Chỉnh sửa giao diện ===== | ||
+ | |||
+ | Các chỉnh sửa liên quan tới CSS cố gắng viết vào file '' | ||
+ | |||
+ | Các chỉnh sửa liên quan tới JS phải viết vào file '' | ||
+ | |||
+ | Các block của module mà có giao diện, cấu trúc hay không thể chỉnh sửa bằng css thì buộc phải viết thành block riêng của giao diện. Block của giao diện cần thỏa mãn cấu hình sau (hình minh họa phía dưới) | ||
+ | |||
+ | * Chọn module: Cầu lấy dữ liệu | ||
+ | * Cấu hình tùy chọn của block đó | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Các chỉnh sửa thêm liên quan tới CSS bắt buộc phải sửa vào module thì phải viết xuống dòng file css của module đó và có thêm comment chú thích. | ||
+ | |||
+ | Các chỉnh sửa liên quan tới JS bắt buộc phải sửa vào JS của module thì cần phải chú thích đoạn nào đã sửa và thêm mới để người sau có thể biết tránh xóa đi. | ||
+ | |||
+ | Các giao diện rip từ mẫu có sẵn thì phải chỉnh sửa trên ...themes/ | ||
+ | |||
+ | ===== 5) Giao diện của các Module ===== | ||
Nếu module nào không chỉnh sửa, cần xóa nó đi, bởi nếu không khi giao diện default chỉnh sửa sẽ phải đi sửa tất cả các giao diện này, và sinh ra rất nhiều rác trong code. | Nếu module nào không chỉnh sửa, cần xóa nó đi, bởi nếu không khi giao diện default chỉnh sửa sẽ phải đi sửa tất cả các giao diện này, và sinh ra rất nhiều rác trong code. | ||
Dòng 18: | Dòng 59: | ||
Để tránh việc thừa, Nên xóa hết giao diện của module, khi chỉnh sửa cho module nào thì mới copy từ giao diện mặc định sang. | Để tránh việc thừa, Nên xóa hết giao diện của module, khi chỉnh sửa cho module nào thì mới copy từ giao diện mặc định sang. | ||
+ | Thành phần của giao diện module bao gồm: | ||
- | ===== 4) Layout của giao diện ===== | + | * File '' |
+ | * Thư mục '' | ||
+ | * File '' | ||
+ | * Thư mục '' | ||
+ | |||
+ | > Các file và thư mục trên tính từ thư mục '' | ||
+ | |||
+ | |||
+ | ===== 6) Layout của giao diện ===== | ||
Kiểm tra lại các layout, | Kiểm tra lại các layout, | ||
Dòng 27: | Dòng 77: | ||
</ | </ | ||
- | Cái nào làm thì dữ lại, Cái nào ko làm thì phải xóa đi để tránh người dùng cấu hình vào nó lỗi | + | Cái nào làm thì giữ lại, Cái nào ko làm thì phải xóa đi để tránh người dùng cấu hình vào nó lỗi |
Sau đó sửa lại file / | Sau đó sửa lại file / | ||
Dòng 40: | Dòng 90: | ||
</ | </ | ||
+ | ===== 7) Template của block ===== | ||
+ | Kiểm tra các file ''/ | ||
+ | > Chú ý: Template block.default.tpl là tối thiểu phải có, không được xóa nó. | ||
+ | ===== 8) Các block global của giao diện ===== | ||
+ | Kiểm tra lại các blocks ở ''/ | ||
+ | |||
+ | > Xem [[programming4: | ||
+ | |||
+ | ===== 9) Chỉnh sửa lại giao diện để được giao diện mới ===== | ||
+ | Cuối cùng là việc chỉnh sửa CSS và các file tpl để giao diện abc trở thành giao diện mới. | ||
+ | |||
+ | ===== 10) Một số chú ý khi làm giao diện ===== | ||
+ | |||
+ | Hạn chế tối đa việc copy giao diện của các module từ giao diện mặc định sang giao diện mới để chỉnh sửa giao diện mà hãy tận dụng tối đa khả năng tùy biến của CSS để chỉnh sửa giao diện. | ||
+ | |||
+ | Áp dụng triệt để các thuộc tính của CSS 3 như '': | ||
+ | |||
+ | Ví dụ trường hợp sau: | ||
+ | |||
+ | Giao diện tin tức yêu cầu phải là hiển thị chuyên mục thành hai cột. Mặc định NukeViet có sẵn như sau: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Yêu cầu phải có giao diện như sau: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Khi đó chỉ cần viết đoạn CSS như sau là có thể chỉnh sửa được giao diện: | ||
+ | |||
+ | <code css> | ||
+ | /* TIN TỨC LÀM HAI CỘT */ | ||
+ | .news_column.two_column > .panel { | ||
+ | margin-left: | ||
+ | position: relative; | ||
+ | background-color: | ||
+ | border-radius: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-heading { | ||
+ | margin-left: | ||
+ | position: relative; | ||
+ | margin-right: | ||
+ | border-radius: | ||
+ | background-color: | ||
+ | background-image: | ||
+ | border: 0; | ||
+ | padding-left: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-heading h4 { | ||
+ | font-size: 18px; | ||
+ | font-weight: | ||
+ | position: relative; | ||
+ | background-image: | ||
+ | background-repeat: | ||
+ | border: 1px #f1a60d solid; | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-heading h4:before { | ||
+ | width: 9px; | ||
+ | height: 11px; | ||
+ | overflow: hidden; | ||
+ | content: ""; | ||
+ | position: absolute; | ||
+ | bottom: -12px; | ||
+ | left: -1px; | ||
+ | background-image: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-heading h4 a { | ||
+ | color: #fff; | ||
+ | display: block; | ||
+ | background-image: | ||
+ | padding: 3px 3px 3px 10px; | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body { | ||
+ | padding: 0; | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > h3, | ||
+ | .news_column.two_column > .panel > .panel-body > div, | ||
+ | .news_column.two_column > .panel > .panel-body > p { | ||
+ | background-color: | ||
+ | padding-left: | ||
+ | padding-right: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > h3 { | ||
+ | padding-top: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > h3 a { | ||
+ | color: #bb3914; | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > h3 a:hover { | ||
+ | color: #3a4276; | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > p { | ||
+ | padding-bottom: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > ul li { | ||
+ | margin-bottom: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > a img { | ||
+ | margin-left: | ||
+ | margin-right: | ||
+ | border-radius: | ||
+ | padding: 3px; | ||
+ | border: solid 1px #cecece; | ||
+ | background-color: | ||
+ | float: right!important; | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > div ul li: | ||
+ | margin-left: | ||
+ | padding-left: | ||
+ | } | ||
+ | .news_column.two_column > .panel > .panel-body > div li { | ||
+ | margin-bottom: | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Nếu copy giao diện module từ giao diện mặc định sang giao diện mới để chỉnh sửa hãy kiểm tra lại nếu không thật sự cần thiết phải chỉnh sửa file js của module thì nên xóa nó đi, hệ thống sẽ tự động gọi từ giao diện mặc định, như vậy sẽ giảm thiểu một khối lượng công việc khi nâng cấp giao diện. | ||
+ | |||
+ | Không nên chỉnh sửa vào file style.css và main.js của giao diện mặc định copy sang mà hãy tạo file mới ví dụ ' | ||
+ | |||
+ | Giao diện mặc định ở dạng '' | ||
+ | |||
+ | Ví dụ một header có dạng sau: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Khi sửa từ giao diện mặc định ta chỉ cần thêm vào đầu file '' | ||
+ | |||
+ | <code html> | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | <div class=" | ||
+ | </ | ||
+ | |||
+ | Và trong CSS | ||
+ | |||
+ | <code css> | ||
+ | .site-banner-bg { | ||
+ | background: #fdd602; | ||
+ | background: -moz-linear-gradient(top, | ||
+ | background: -webkit-linear-gradient(top, | ||
+ | background: linear-gradient(to bottom, #fdd602 0%,#ffd701 3%,#fed503 5%,#fdcb01 41%,#fcb701 72%,#fba201 96%,#fba202 100%); | ||
+ | filter: progid: | ||
+ | height: 100px; | ||
+ | position: absolute; | ||
+ | top: 0; | ||
+ | left: 0; | ||
+ | width: 100%; | ||
+ | } | ||
+ | .site-banner-bg1 { | ||
+ | height: 100px; | ||
+ | position: absolute; | ||
+ | top: 0; | ||
+ | left: 0; | ||
+ | width: 100%; | ||
+ | background-image: | ||
+ | background-repeat: | ||
+ | background-position: | ||
+ | } | ||
+ | .site-menu-bg { | ||
+ | background: #d36f21; | ||
+ | background: -moz-linear-gradient(top, | ||
+ | background: -webkit-linear-gradient(top, | ||
+ | background: linear-gradient(to bottom, #d36f21 0%,#c13513 3%,#bf360c 6%,#bc350f 10%,#b5340d 32%,#aa2f0d 52%,#aa2f0d 58%,#a42e0c 61%,#a62f0b 65%,#9f2d0b 84%,#9a2c0a 90%,#992703 94%,#982b0c 97%,#992a05 100%); | ||
+ | filter: progid: | ||
+ | height: 33px; | ||
+ | position: absolute; | ||
+ | top: 100px; | ||
+ | left: 0; | ||
+ | width: 100%; | ||
+ | } | ||
+ | </ |
programming4/theme/copy-from-deault-theme.txt · Sửa đổi lần cuối: 2020/11/21 09:41 bởi nguyennam