Hướng dẫn Chỉ hiện banner ở trang chủ, diễn đàn hoặc bài viết dựa vào tên của template

Blue

Founder
Thành viên BQT
Tham gia
25/02/2015
Bài viết
931
Được Like
1,553
Có nhiều bạn thắc mắc khi muốn tùy chỉnh một vài dòng chữ hoặc các banner trong style XenForo nhưng chỉ cho hiện ở trang chủ, diễn đàn hoặc bài viết mà thôi thì làm thế nào. Có nhiều cách khác nhau để thực hiện điều này, trong đó dựa vào tên các template chính là cách hiệu quả nhất. Hôm nay mình sẽ hướng dẫn để các bạn dễ hiểu và làm được ngay.

Mỗi link trang trong XenForo đều dùng những template có tên cố định như sau:
Diễn đàn: forum_list
Diễn đàn con: forum_view
Bài viết: thread_view
Thành viên: member_view
XenPorta: EWRporta_Portal
XenPorta 2: EWRporta2_ArticleView

Bạn cần đưa ra 1 điều kiện (IF) cho banner cần đặt bằng cách cho nó nằm giữa thẻ <xen:if>.
Điều kiện đưa ra là: Nếu tên của template giống với danh sách bạn đưa ra thì banner sẽ hiện:

Mã:
<xen:if is="in_array({$contentTemplate}, array('forum_list'))">
    //Đặt banner vào đây
</xen:if>

Bạn hãy để ý đoạn 'forum_list' -> Chỉ hiện ở Diễn đàn (xem danh sách các template mẫu ở trên.

Nếu bạn muốn thêm cho template nào chỉ việc liệt kê tên template đó ra trong ngoặc đơn (cách nhau bởi dấu phẩy). Ví dụ muốn banner chỉ hiện ở trang chủ và diễn đàn thì chỗ đoạn array sẽ là: array('forum_list', 'EWRporta_Portal')
 
Sửa lần cuối:

Jindo_Katori

FirstSergeant
Tham gia
01/03/2015
Bài viết
1,454
Được Like
1,193
Cái này mình muốn cụ thể 01 diễn đàn con (1 chuyên mục cụ thể được không bác). Ví dụ chỉ hiện ở chuyên mục tuyển dụng, hoặc chuyên mục mua bán,...
Mình đã thử nhiều kiểu mà không được.
 

thuyet951

MasterCorporal
Tham gia
01/04/2016
Bài viết
312
Được Like
427
Cái này mình muốn cụ thể 01 diễn đàn con (1 chuyên mục cụ thể được không bác). Ví dụ chỉ hiện ở chuyên mục tuyển dụng, hoặc chuyên mục mua bán,...
Mình đã thử nhiều kiểu mà không được.
Dùng lệnh get ID của node sau đó dùng CSS và xen:raw để cho nó hiện được đó bạn.
 

Jindo_Katori

FirstSergeant
Tham gia
01/03/2015
Bài viết
1,454
Được Like
1,193
Dùng lệnh get ID của node sau đó dùng CSS và xen:raw để cho nó hiện được đó bạn.
Cái ID thì mình biết, còn CSS và xen:raw bác cho mình xin mẫu 01 cái có gì cà phê cà pháo thế nào bác inbox hộ mình nhé
 

thuyet951

MasterCorporal
Tham gia
01/04/2016
Bài viết
312
Được Like
427

tohaitrieu

Private
Tham gia
26/07/2015
Bài viết
13
Được Like
2
Cái này ko hoạt động trong template ad_message_body thì phải.

Mình để đk thế này:

<xen:if is="in_array({$contentTemplate}, array('EWRporta2_ArticleView'))">
//Đặt banner vào đây
</xen:if>

Nó hiển thị cả ở EWRporta2_ArticleView và thread_view luôn :(
 

Top Bottom