ecshop怎么以幻灯版调用首页主广告显示

今天在做一个商品网站我使用的是一套现成的ecshop模板了,这套模板下载下来多半是可以使用的,但是我发现第一屏的首页广告一直是不显示我想了很多办法都不显示了,后来一站长告诉我如何解决,下面我就来介绍ecshop调用flash广告的实现方法。
 

我的默认的是index_ad.lbi模板有一个$flash变量了,但在搜索搜索没发现

<!--{foreach from=$flash name=no item=flash}-->
    <li class="li{$smarty.foreach.no.iteration}"><a href="{$flash.url}" target="_blank"><img src="{$flash.src}"/></li>
<!--{/foreach}-->
<!--{foreach from=$flash name=no item=flash}-->
     <li>
    {$smarty.foreach.no.iteration}
    </li> 
<!--{/foreach}-->

然后我在index.php文件搜索flash变量没有,只发现这样一个代码

/* 首页主广告设置 */
$smarty->assign('index_ad',     $_CFG['index_ad']);
    if ($_CFG['index_ad'] == 'cus')
    {
        $sql = 'SELECT ad_type, content, url FROM ' . $ecs->table("ad_custom") . ' WHERE ad_status = 1';
        $ad = $db->getRow($sql, true);
        $smarty->assign('ad', $ad);
}

发现没办法使用了,我调用时也不会显示广告主的广告,于是网上搜索一下看到一段这样的文字

在首页index.php的代码:$smarty->assign('shop_notice',     $_CFG['shop_notice']);       // 商店公告

在这个代码下面加入下面代码:

$smarty->assign("flash",get_flash_xml());
$smarty->assign('flash_count',count(get_flash_xml()));

如果以上两步没有调用首页主广告,然后再index.php中加入如下代码:

/**
 * 首页显示主广告区所需代码
 * @return array
 */
function get_flash_xml()
{

    $flashdb = array();
    if (file_exists(ROOT_PATH . DATA_DIR . '/flash_data.xml')) {

        // 兼容v2.7.0及以前版本
        if (!preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"\stext="([^"]*)"\ssort="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER)) {
            preg_match_all('/item_url="([^"]+)"\slink="([^"]+)"\stext="([^"]*)"/', file_get_contents(ROOT_PATH . DATA_DIR . '/flash_data.xml'), $t, PREG_SET_ORDER);
        }

        if (!empty($t)) {
            foreach ($t as $key => $val) {
                $val[4] = isset($val[4]) ? $val[4] : 0;
                $flashdb[] = array('src' => $val[1], 'url' => $val[2], 'text' => $val[3], 'sort' => $val[4]);
            }
        }
    }
    return $flashdb;
}

 

转载于:https://www.cnblogs.com/wolfocme110/p/5074912.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ecshop首页幻灯js 参考 www.chinahongjiu.net 使用方法 1、将文件夹下载到 data/flashdata 中 2、修改admin文件夹中的flashplay.php 大约 870行添加 case 'Myjs';注意文件夹名称要一直,否则更新不了。这样就可以到后台调用了 样式自己调整 3、更新了js ,解决的部分bug,替换即可 var mylnk=""; var mytxt=""; var mypic=""; var s1="",s2="",s3=""; function show_flash() { mylnk=links.split("|"); mytxt=texts.split("|"); mypic=pics.split("|"); s1="",s2="",s3=""; cpn=mylnk.length; for(i=0;i<mylnk.length;i++) { s1+='<li id="Myop'+i+'" ></li>'; s2+='<li id="Myjs'+i+'" onmouseover="Myjsch(\'Myjs'+i+'\',\''+mypic[i]+'\')" onmouseout="Myjscl(\'Myjs'+i+'\')" ref="'+mypic[i]+'"><a href="'+unescape(mylnk[i])+'">'+mytxt[i]+'</a></li>'; } document.getElementById('flash_cycle_image').innerHTML = '<div class="i_topcenter">'+"\n"+'<div class="slides" >'+"\n"+'<a href="'+mylnk[0]+'" id="slide-a"><img id="slide-pic" src="'+mypic[0]+'"/></a>'+"\n"+'<ul class="slide-li" id="op">'+"\n"+s1+"\n"+'</ul><ul class="slide-li" id="slide-txt">'+"\n"+s2+'</ul>'+"\n"+'</div>'+"\n"+' </div>'; document.getElementById("Myjs0").style.background="#ff0000"; if(document.all)document.getElementById("slide-pic").filters[0].enabled=false; ss=""; timen=2000; cp=0; obj=document.getElementById("slide-pic"); cpn=document.getElementById("slide-txt").getElementsByTagName("li").length; ss= window.setInterval(function() { if(cp<cpn-1){cp++; } else{ cp=0 } if(document.all){ obj.filters.blendtrans.Apply(); obj.filters[0].enabled=false; obj.filters.blendtrans.Play(); } obj.src=document.getElementById("Myjs"+cp).getAttribute("ref"); for(j=0;j<cpn;j++){ if(j==cp){ document.getElementById("Myjs"+j).style.background="#ff0000"; document.getElementById("slide-a").href=unescape(mylnk[j]); } else { document.getElementById("Myjs"+j).style.background=""; } } },timen); //mystart(); } LoadCSS("data/flashdata/Myjs/mycss.css"); $importjs('data/flashdata/Myjs/data.js', show_flash); function Myjsch(sid,ref) { window.clearInterval(ss); if(document.all){ obj.filters.blendtrans.Apply(); obj.filters[0].enabled=false; obj.filters.blendtrans.Play(); } obj.src=ref; for(i=0;i<cpn;i++) { if("Myjs"+i==sid) { document.getElementById("Myjs"+i).style.background="#cc3333"; document.getElementById("slide-a").href=unescape(mylnk[i]); } else { document.getElementById("Myjs"+i).style.background=""; } } } function Myjscl(sid) { cp=sid.substring(4); ss= window.setInterval(function() { if(cp<cpn-1){cp++; } else{ cp=0 } if(document.all){ obj.filters.blendtrans.Apply(); obj.filters[0].enabled=false; obj.filters.blendtrans.Play(); } obj.src=document.getElementById("Myjs"+cp).getAttribute("ref"); for(j=0;j<cpn;j++){ if(j==cp){ document.getElementById("Myjs"+j).style.background="#ff0000"; document.getElementById("slide-a").href=unescape(mylnk[j]); } else { document.getElementById("Myjs"+j).style.background=""; } } },timen); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值