
如图,长安的荔枝这里是一个随机广告位,位置不固定,每次刷新换位。
广告混入循环列表里,占用一个推荐视频位,其他视频数量自动减少1,我的模板设置的总共16个格子(1个广告+15视频)
模板里的num="'.$mxprost['mxprocms']['s4']['likenum'].'"
,只需把这个数-1,比如设置为15,并在循环内部第1个位置插广告即可。可以在模板后台设置,如果模板没有相关设置也可以直接在模板文件中写 num="15"
广告位置顶显示:{if condition="$key eq 1"}
:在循环第1个时插广告,其它时候只显示视频。
广告位随机显示:用PHP生成一个1-15的随机数,传给模板:{php}$ad_pos = rand(1, 15);{/php} ,在循环内部,用$key eq $ad_pos
判断广告插入。
同理,其他页面也可依据此原理增加类似的广告位。
完整代码如下,供参考
<div class="module">
<div class="module-heading">
<h2 class="module-title">{$mxprost.mxprocms.s4.liketext}</h2>
</div>
<div class="module-main {if condition="$mxprost['mxprocms']['s2']['qjpic'] eq 1"}scroll-box{/if}">
<div class="module-items {if condition="$mxprost['mxprocms']['s2']['qjpic'] eq 1"}module-poster-items-small scroll-content {else}module-poster-items-base {/if}">
<!-- 随机位 -->
{php}$ad_pos = rand(1, 15);{/php}
{maccms:vod num="15" type="current" order="desc" by="time" year="{$mxprost['mxprocms']['s4']['likeyear']}"}
<!-- {if condition="$key eq 1"} -->
{if condition="$key eq $ad_pos"}
<a href="/voddetail/130578.html" title=".." class="module-poster-item module-item" onclick="gtag('event', 'click', {
'event_category': '广告',
'event_label': '相关视频_海报'
});">
<div class="module-item-cover">
<div class="module-item-note">热播推荐</div>
<div class="module-item-pic">
<img class="lazy lazyload" data-original="https://ps.ryzypics.com/upload/vod/20250607-1/6853eb6f70b7e496cb5ddc296d0f127b.webp" alt="长安的荔枝" referrerpolicy="no-referrer" src="https://ps.ryzypics.com/upload/vod/20250607-1/6853eb6f70b7e496cb5ddc296d0f127b.webp" style="">
</div>
<i class="icon-play"></i>
</div>
<div class="module-poster-item-info">
<div class="module-poster-item-title" style="color: red; font-weight: bold; text-shadow: 1px 1px 2px black;">🔥 长安的荔枝</div>
</div>
</a>
{/if}
{include file="block/vodbox"}
{/maccms:vod}
</div>
</div>
</div>