netoops blog
Trang này chỉ copy lại để làm tài liệu cho mình thôi: Nếu có bài của bạn, thì xin bỏ qua. Cảm ơn.

Tuesday, 11 December 2012

Tìm hiểu kiểu trang của Blogger



rubikHãy hình dung bạn đang quan sát lớp học một trường tiểu học. Trong lớp có vài bộ bàn ghế và ngồi trên đó là những học sinh. Có bàn chỉ 1 học sinh, có bàn thì 2... thậm chí bàn cuối chưa có ai ngồi. Trên bục giảng là bà giáo viên dạy giỏi cấp thành phố, bà ta dạy môn Toán, Anh Văn, Nhạc, Họa...

Được rồi, đọc đến đây có lẽ bạn nghĩ hơi men rượu từ Tết vẫn còn trong người mình, đây là thủ thuật về Blogger kia mà? Mình chỉ muốn dùng phép so sánh cho trực quan một chút. Nếu lớp học là một Blogger Template thì bộ bàn ghế chính là nhữngsection, học sinh là những widget. Học sinh ngồi học trên bộ bàn ghế còn widget thì cần đặt trên section, có section chỉ đặt 1 widget hoặc nhiều hơn hay thậm chí chưa có widget nào. Còn bà giáo viên cấp thành phố thì sao? Bà ta chính là widget với kiểu blog, bục giảng nơi bà ta đang đứng là section với class và id là main, bà ta dạy nhiều môn học còn widget với kiểu blog là nơi hiển thị những thay đổi khác nhau của kiểu trang trong blog. Blogger hiện tại có 4 kiểu trang:
  1. index: trang chủ, trang label, trang tìm kiếm.
  2. archive: trang lưu trữ.
  3. item: trang bài viết.
  4. static_page: trang tĩnh.
Bây giờ là tiết Nhạc và anh nhân viên quản lý thiết bị trong trường đang mang cây đàn Yamaha tới, anh ta được lệnh mang đàn nếu lớp học môn Nhạc. Trong Blogger thì chúng ta dùng lệnh b:if. Giả sử bạn cần chèn đoạn mã nào đó chỉ ở trang bài viết chúng ta sử dụng đoạn mã:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
đoạn mã cần chèn
</b:if>
Nhiệm vụ của anh nhân viên chưa hết, anh ta được lệnh mang đài cassette tới nếu lớp học môn Nhạc hoặc Anh Văn. Giả sử bạn cần chèn đoạn mã ở trang bài viết hoặc trang tĩnh chúng ta dùng đoạn mã:
<b:if cond='data:blog.pageType == &quot;item&quot;'>
đoạn mã cần chèn
<b:else/>
<b:if cond='data:blog.pageType == &quot;static_page&quot;'>
đoạn mã cần chèn
</b:if>
</b:if>
Đoạn mã trên không sai nhưng dài, đoạn mã cần chèn xuất hiện tới 2 lần. Chúng ta nên sử dụng đoạn mã sau:
<b:if cond='data:blog.pageType != &quot;index&quot;'>
<b:if cond='data:blog.pageType != &quot;archive&quot;'>
đoạn mã cần chèn
</b:if>
</b:if>
Thay vì xem có đúng kiểu trang bài viết hoặc trang tĩnh hay không chúng ta xem có khác những kiểu trang còn lại không và thực hiện đoạn mã cần chèn. Tất nhiên không nên nói "nếu khác môn Toán, môn Họa... thì mang đài cassette tới" vì sẽ gây khó khăn cho anh nhân viên, anh ta xử lý thông tin không nhanh như Blogger.

Bây giờ tới tiết Họa, chúng ta có một cậu bé thần đồng môn này. Cậu ta chưa đủ tuổi đi học nhưng yêu thích vẽ vời, bố mẹ cậu ta xin cho cậu đến học chỉ môn Họa này thôi. Anh nhân viên mang một bộ bàn ghế tới cho cậu ngồi và hết tiết lại mang cất bộ bàn ghế này đi. Ở Blogger nếu muốn widget chỉ xuất hiện ở một kiểu trang nào đó, giả sử kiểu indexchúng ta cần đặt widget này ở một section và thêm lệnh điều kiện bên ngoàisection này. Sử dụng đoạn mã sau:
<b:if cond='data:blog.pageType == &quot;index&quot;'>
<b:section ...>
<b:widget ...>
...
</b:widget ...>
</b:section ...>
</b:if>

Việc biết những kiểu trang của Blogger sẽ giúp chúng ta dễ dàng tùy biến hiển thị các tiện ích trong template.

Những đoạn mã javascript thường được sử dụng trong Blogger, tuy nhiên làm chậm tốc độ của blog. Nếu javascript chỉ sử dụng trong những kiểu trang nhất định chúng ta nên dùng lệnh điều kiện b:if để hiển thị nó khi cần thiết, thay vì để trình duyệt tải ở những kiểu trang không sử dụng đến chúng ta để Blogger lựa chọn. Đoạn mã lệnh điều kiện khá ngắn không ảnh hưởng đến tốc độ của blog.

No comments:

Post a Comment

Copyright 2010 Chú ý; trang này chỉ để chủ xem.

Home | Layout | Template | Allposts | Viết |