推荐

SDCMS四合一企业网站管理系统中随机调用一条广告的方法

2021-09-16 08:33 1007 浏览

SDCMS四合一企业网站管理系统中随机调用一条广告的图片可以实现吗?

当然是可以实现的,虽然四合一的广告是以JSON形式存储的,但是也可以实现随机调用其中一条图片的。下面来看实现方法。

我们先看默认广告的调用标签:

{sdcms:rs table="sd_ad" where="akey='pc' and islock=1"}
{php $adlist=jsdecode($rs[datalist],1)}
{php $step=0}
{foreach $adlist as $num=>$val}
    <div class="ui-carousel-item{if $step==0} active{/if}"><a style="background:url('{$val['image']}') no-repeat center;" href="{$val['url']}" title="{$val['desc']}"></a></div>
{php $step++}
{/foreach}
{/sdcms:rs}

这是系统首页调用的Banner广告,默认是多张的,原理是,将Json转化为数组,然后循环遍历数组显示,既然是数组,那么我们即可使用php的随机函数,默认获取一条,代码为:

{php $num=array_rand($adlist,1)}

解释:定义$num变量,使用array_rand函数,随机获取一个下标,然后重新赋值给数组,代码如下:

{php $adlist=[$adlist[$num]]}

最后再循环这个数组即可,也可以不循环,直接显示数组对应的内容,我们使用循环的方法,省得修改代码,最终结果如下:

{sdcms:rs table="sd_ad" where="akey='pc' and islock=1"}
{php $adlist=jsdecode($rs[datalist],1)}
{php $step=0}
{php $num=array_rand($adlist,1)}
{php $adlist=[$adlist[$num]]}
{foreach $adlist as $num=>$val}
    <div class="ui-carousel-item{if $step==0} active{/if}"><a style="background:url('{$val['image']}') no-repeat center;" href="{$val['url']}" title="{$val['desc']}"></a></div>
{php $step++}
{/foreach}
{/sdcms:rs}
分享:
相关内容
相关推荐
热门知识