如果后台添加廣告后,模板不顯示有以下這些原因:

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_41120504/article/details/79193405
一、ecshop调用指定的广告位的方法,在include/lib_goods.php文件下面新增(第一種方法)

function getads($cat,$num)
{
 $time = gmtime();
$sql = "SELECT * FROM " . $GLOBALS['ecs']->table('ad') . " where position_id=".$cat." and  start_time <= '" . $time . "' AND end_time >= '" . $time . "' ORDER BY ad_id desc limit ".$num;
$res = $GLOBALS['db']->getAll($sql);
   $arr = array();
    foreach ($res AS $idx => $row)
    {
        $arr[$idx]['id']          = $row['ad_id'];
        $arr[$idx]['title']       = $row['ad_name'];
   $arr[$idx]['ad_link']       = $row['ad_link'];
        $arr[$idx]['ad_code']     = "data/afficheimg/".$row['ad_code'];
    }
    return $arr;
}

二、后再指定的位置的控制页面增加:

例如首页调用,我们在index.php页面增加
 
找到:$smarty->assign('promotion_goods', get_promote_goods()); // 特价商品
在他下面添加
$smarty->assign("banner",getads(1,4));
其中:1表示广告位置的id,4表示调用的数量。
打开 模板文件index.dwt,在指定位置调用即可。
 
 <!--{foreach from=$banner name=ban item=banner}-->
     <li><a href="{$banner.ad_link}"><img src="{$banner.ad_code}"></a></li>
      <!--{/foreach}--> 

結束。。。。。。



三、這個是第二種方法,建議用這個方法
  
想在哪裏添加廣告就在那裏放入:{insert name='ads' id=2 num=1}

  id值表达广告位置的id。num表示数量



如果后台添加廣告后,模板不顯示有以下這些原因:

ecshop前台页面广告位不显示不外乎以下几种情况,一一检查,一般都可以解决。

1.检查一下后台的广告位的时间是否到期了,如果到期之后,广告位的图片就不会显示。

修改方式:进入ecshop后台->广告列表->编辑,把广告位的结束日期定在今日之后,刷新前台页面就可以显示出广告位了,ps:不显示的话,就清空一下缓存在刷新页面。

2.确定你上传的图片名称,是不是英文加数字,因为某些服务器不读取中文,所以先确定是不是这个原因

3.确定你上传的图片格式有没有问题,上传图片必须是jpg或者gif或者png,推荐jpg与gif。如果是jpg,确定格式不是cmyk格式,必须是jpg格式。 如果还是不行可以从网上随便下载一个图片上传,来确定排除图片格式问题。

4.确定你有在后台 模板管理-设置模板 调用,因为你加了广告与广告位,结果在设置模板中没有调用,那么还是不行的。





來源參考:http://www.moke8.com/article-14316-1.html 

       http://blog.csdn.net/u013785779/article/details/19965279



猜你喜欢

转载自blog.csdn.net/weixin_41120504/article/details/79193405
今日推荐