Display A Random Banner - Hiển thị Banner ngẫu nhiên

PVS

Super Moderator
Thành viên BQT
Tham gia
28/02/2015
Bài viết
16,728
Được Like
12,680
Display A Random Banner - Hiển thị Banner ngẫu nhiên

Code này hoạt động trong bất kỳ template nào. Đối với banner quảng cáo ngẫu nhiên bạn có thể làm tại một trong những template ad_. Ví dụ:

Admin CP -> Appearance -> Templates -> ad_above_content

Sử dụng code sau:
Mã:
<xen:comment>DEFINE AND RANDOMIZE YOUR BANNERS</xen:comment>

<xen:set var="$banners.1">banner one</xen:set>
<xen:set var="$banners.2">banner two</xen:set>
<xen:set var="$banners.3">banner three</xen:set>

{xen:raw '$banners.{xen:calc '({$serverTime} % 3) + 1'}'}

Thay thế banner one, banner two, banner three với mã banner của bạn. Chỉ cần chắc chắn để sử dụng một số mới cho mỗi banner mới bạn thêm vào. Và số lượng cao nhất cần phải được đưa vào tính toán rand. Ví dụ, nếu bạn có 5 banner được xác định thì nó sẽ giống như thế này:
Mã:
<xen:comment>DEFINE AND RANDOMIZE YOUR BANNERS</xen:comment>

<xen:set var="$banners.1">banner one</xen:set>
<xen:set var="$banners.2">banner two</xen:set>
<xen:set var="$banners.3">banner three</xen:set>
<xen:set var="$banners.4">banner four</xen:set>
<xen:set var="$banners.5">banner five</xen:set>

{xen:raw '$banners.{xen:calc '({$serverTime} % 5) + 1'}'}

Và đây là code để nhóm các banner ngẫu nhiên bởi forumid. Lưu ý rằng với code này tôi đã khái quát những lựa chọn banner trong vòng lặp foreach. Điều này cho phép bạn chỉ định các số khác nhau của các banner cho mỗi diễn đàn, và bạn không còn phải xác định tổng số các banner để tính rand:
Mã:
<xen:comment>DEFINE AND RANDOMIZE YOUR BANNERS</xen:comment>

<xen:if is="{$forum.node_id} == 2">
    <xen:set var="$banners.1">banner one for forumId 2</xen:set>
    <xen:set var="$banners.2">banner two for forumId 2</xen:set>
    <xen:set var="$banners.3">banner three for forumId 2</xen:set>
    <xen:set var="$banners.4">banner four for forumId 2</xen:set>
<xen:elseif is="{$forum.node_id} == 4" />
    <xen:set var="$banners.1">banner one for forumId 4</xen:set>
    <xen:set var="$banners.2">banner two for forumId 4</xen:set>
    <xen:set var="$banners.3">banner three for forumId 4</xen:set>
    <xen:set var="$banners.4">banner four for forumId 4</xen:set>
    <xen:set var="$banners.5">banner five for forumId 4</xen:set>
<xen:else />
    <xen:set var="$banners.1">banner one for all other forums and pages</xen:set>
    <xen:set var="$banners.2">banner two for all other forums and pages</xen:set>
    <xen:set var="$banners.3">banner three for all other forums and pages</xen:set>
</xen:if>

<xen:foreach loop="$banners" value="$curBanner" i="$i" count="$count">
    <xen:if is="!{$rand}">
        <xen:set var="$rand">{xen:calc '({$serverTime} % {$count}) + 1'}</xen:set>
    </xen:if>
    <xen:if is="{$i} == {$rand}">
        {xen:raw '$banners.{$rand}'}
    </xen:if>
</xen:foreach>

Thêm nhiều elseif để kiểm tra nhiều hơn forumId.

Chúc các bạn thành công.


Nguồn: xenforo.com​
 

Jindo_Katori

FirstSergeant
Tham gia
01/03/2015
Bài viết
1,462
Được Like
1,205
Bá đạo thật, hồi trước đã có mấy lần nghiên cứu về cái này nhưng bài này có ve hd cụ thể nhất
 

azorakt

Private
Tham gia
11/01/2016
Bài viết
43
Được Like
23
cảm ơn bạn đã chia sẽ, mình sẽ thư xem thế nào.
 

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Dịch vụ XenForo của VNXF

Mr. Tuấn

Mobile/Zalo: 0988 488 096

Telegram: bluekpro

Email: [email protected]

Nhà Tài Trợ

Mút Xốp Không Gian
pallet Thịnh Phát
Top Bottom