Công cụ thành viên

Công cụ trang web


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.

Liên kết đến bản xem so sánh này

Phiên bản trước của cả hai bênPhiên bản trước
Phiên bản sau
Phiên bản trước
Phiên bản cuốiPhiên bản sau của cả hai bên
programming4:theme:copy-from-deault-theme [2016/06/17 10:01] – [5) Template của block] hoaquynhtim99programming4:theme:copy-from-deault-theme [2020/11/18 09:37] – [1) Copy Giao diện] 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 themes) =====
  
-Copy Giao diện mặc định thành giao diện ví dụ đặt tên là abc+Copy Giao diện mặc định ../themes/default và đổi tên theme thành tên dự án. 
 + 
 +Ví dụ đặt tên là .../themes/shop-hoa
  
  
Dòng 57: Dòng 59:
  
 > Xem [[programming4:block#tổng_quan_về_blockquy_uớc_va_cach_dặt_ten|tổng quan về block]] > Xem [[programming4:block#tổng_quan_về_blockquy_uớc_va_cach_dặt_ten|tổng quan về block]]
 +
 +===== 7) 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.
 +
 +===== 8) 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ư '':last-child, :first-child, :before, :after'' để tùy biến giao diện.
 +
 +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:
 +
 +{{ :programming4:theme:tin_tuc_thanh_hai_cot_mac_dinh.png |}}
 +
 +Yêu cầu phải có giao diện như sau:
 +
 +{{ :programming4:theme:tin_tuc_thanh_hai_cot_css.png |}}
 +
 +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: 10px;
 +    position: relative;
 +    background-color: #fff;
 +    border-radius: 0;
 +}
 +.news_column.two_column > .panel > .panel-heading {
 +    margin-left: -9px;
 +    position: relative;
 +    margin-right: 60px;
 +    border-radius: 0;
 +    background-color: transparent;
 +    background-image: none!important;
 +    border: 0;
 +    padding-left: 0;
 +}
 +.news_column.two_column > .panel > .panel-heading h4 {
 +    font-size: 18px;
 +    font-weight: bold;
 +    position: relative;
 +    background-image: url(../images/homepage-focus-bg.gif);
 +    background-repeat: 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: url(../images/news-cat-conner.jpg);
 +}
 +.news_column.two_column > .panel > .panel-heading h4 a {
 +    color: #fff;
 +    display: block;
 +    background-image: linear-gradient(to bottom,rgba(251, 149, 1, 0.39) 0%,rgba(251, 149, 1, 0.36) 100%) !important;
 +    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: #f8f8f8;
 +    padding-left: 10px;
 +    padding-right: 10px;
 +}
 +.news_column.two_column > .panel > .panel-body > h3 {
 +    padding-top: 10px;
 +}
 +.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: 10px;
 +}
 +.news_column.two_column > .panel > .panel-body > ul li {
 +    margin-bottom: 6px!important;
 +}
 +.news_column.two_column > .panel > .panel-body > a img {
 +    margin-left: 10px;
 +    margin-right: 10px;
 +    border-radius: 0;
 +    padding: 3px;
 +    border: solid 1px #cecece;
 +    background-color: #fff;
 +    float: right!important;
 +}
 +.news_column.two_column > .panel > .panel-body > div ul li:first-child {
 +    margin-left: 0;
 +    padding-left: 0;
 +}
 +.news_column.two_column > .panel > .panel-body > div li {
 +    margin-bottom: 3px!important;
 +}
 +</code>
 +
 +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ụ 'custom.css' và 'custom.js' để viết những cái mới để sau này nâng cấp chỉ cần ghi đè các file tương ứng từ giao diện mặc định sang là giao diện mới hoàn toàn có thể sử dụng ngay.
 +
 +Giao diện mặc định ở dạng ''boxed'' nếu muốn chỉnh sửa lại thành dạng ''full-width'' thì nên tránh việc CSS lại các thành phần ''.container, .wraper'' mà hãy tận dụng CSS ''position absolute fixed'' và ''z-index''
 +
 +Ví dụ một header có dạng sau:
 +
 +{{ :programming4:theme:header_full_width.png |}}
 +
 +Khi sửa từ giao diện mặc định ta chỉ cần thêm vào đầu file ''header_extended.tpl''
 +
 +<code html>
 +<div class="site-banner-bg">&nbsp;</div>
 +<div class="site-banner-bg1">&nbsp;</div>
 +<div class="site-menu-bg">&nbsp;</div>
 +</code>
 +
 +Và trong CSS
 +
 +<code css>
 +.site-banner-bg {
 +    background: #fdd602;
 +    background: -moz-linear-gradient(top, #fdd602 0%, #ffd701 3%, #fed503 5%, #fdcb01 41%, #fcb701 72%, #fba201 96%, #fba202 100%);
 +    background: -webkit-linear-gradient(top, #fdd602 0%,#ffd701 3%,#fed503 5%,#fdcb01 41%,#fcb701 72%,#fba201 96%,#fba202 100%);
 +    background: linear-gradient(to bottom, #fdd602 0%,#ffd701 3%,#fed503 5%,#fdcb01 41%,#fcb701 72%,#fba201 96%,#fba202 100%);
 +    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdd602', endColorstr='#fba202',GradientType=0 );
 +    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: url(../images/trong-dong.png);
 +    background-repeat: no-repeat;
 +    background-position: center bottom;
 +}
 +.site-menu-bg {
 +    background: #d36f21;
 +    background: -moz-linear-gradient(top, #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%);
 +    background: -webkit-linear-gradient(top, #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%);
 +    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:DXImageTransform.Microsoft.gradient( startColorstr='#d36f21', endColorstr='#992a05',GradientType=0 );
 +    height: 33px;
 +    position: absolute;
 +    top: 100px;
 +    left: 0;
 +    width: 100%;
 +}
 +</code>
programming4/theme/copy-from-deault-theme.txt · Sửa đổi lần cuối: 2020/11/21 09:41 bởi nguyennam