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,829
Được Like
12,687
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,454
Được Like
1,193
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

Mobile/Zalo: 0906081284

Telegram: anhanhxf

Chỉ nhận web nội dung lành mạnh

Nhà Tài Trợ

Mút Xốp Không Gian
Mút Sofa Không Gian
Top Bottom