Đúng như tên gọi, thẻ b:class chỉ dùng để đặt class cho thành phần chứa nó. Nói đến đây nhiều người sẽ đặt ra câu hỏi: sao không đặt class trực tiếp vào tag html luôn cho nóng. Chúng ta sẽ cùng đi tìm hiểu những chức năng hữu ích mà nó mang lại qua bài viết này
+ b:class hoạt động trong tất cả mã XML trừ (b:skin, b:section, b:widget)
+ b:class có thẻ lồng vào nhau
Cách khai báo
<b:class cond='CONDITION' name='CLASS_NAME'/>
hoặc dùng với biểu thức
<b:class cond='CONDITION' expr:name='EXPRESSION'/>
Trong đó thuộc tính name là bắt buộc
Khi tôi viết
<div>
<b:class name='footer'/>
</div>
Khi render
<div class='footer'> ... </div>
Chỉ đặt class cho trang chủ
<div>
<b:class cond='data:view.isHomepage' name='footer'/>
</div>
Khi render sẽ chỉ trang chủ có class là footer
Chèn thêm class vào class
<div class='section'>
<b:class name='footer'/>
</div>
Khi render
<div class='section footer'> ... </div>
Để ghi đè class sử dụng thêm thẻ b:attr
<div class='footer'>
<b:attr name='class' value='header'/>
</div>
Khi render class footer sẽ bị thay thể bởi header
Dùng nhiều b:class cho cùng 1 tag
<div class='section'>
<b:class name='footer'/>
<b:class name='left'/>
</div>
Kết quả
<div class='section footer left'> ... </div>
Sử dụng với rẽ nhánh
<div>
<b:class expr:name='data:view.isHomepage ? "superfooter" : "footer"'/>
</div>
Khi đó trang chủ div sẽ có class là superfooter và các trang còn lại có class là footer
Như vậy khi sử dụng thẻ b:class bạn có thể kết hợp với thẻ điều kiện cond='xxx' để đặt class cho các trang khác nhau, điều này sẽ giúp bạn dễ dàng css cho từng trang hơn
Chúc bạn học tốt
1. Không vi phạm luật pháp nước CHXHCN Việt Nam
2. Không vi phạm thuần phong mỹ tục Việt Nam
3. Không bàn luận vấn đề liên quan đến tôn giáo, chính trị
4. Không đả kích, chửi bới hay đưa ra những lời nói không phù hợp với mục tiêu của website
5. Không bình luận với mục đích quảng cáo, trao đổi, mua bán
6. Khuyến khích sử dụng Tiếng Việt có dấu, hạn chế sử dụng tiếng lóng, viết tắt
7. Khi cần sự trợ giúp, vui lòng miêu tả chi tiết lỗi và để lại link đính kèm, tránh nói chung chung gây mất thời gian cho đôi bên