经常需要调用自定义广告,调用分类广告。方法整理如下:
/* 首页各分类广告图片 例如:部署在include/libcommon.php */ function get_adv($position) { $sql = "select ap.ad_width,ap.ad_height,ad.ad_id,ad.ad_name,ad.ad_code,ad.ad_link from ".$GLOBALS['ecs']->table('ad_position')." as ap left join ".$GLOBALS['ecs']->table('ad')." as ad on ad.position_id = ap.position_id where ap.position_name='".$position."' and ad.media_type=0 and UNIX_TIMESTAMP()>ad.start_time and UNIX_TIMESTAMP()<ad.end_time and ad.enabled=1 order by ad.ad_id desc limit 1"; $res = $GLOBALS['db']->getRow($sql); if($res) { return "<a href='affiche.php?ad_id=".$res['ad_id']."&uri=".$res['ad_link']."' target='_blank'><img src='data/afficheimg/".$res['ad_code']."' width='".$res['ad_width']."' height='".$res['ad_height']."' /></a>"; } else { return ""; } }
修改模板文件。(首页分类模板一般在/library/cat_goods.lbi)
<div class="f_l"><?php $GLOBALS['smarty']->assign('index_cat_image', get_adv('首页-分类ID'.$GLOBALS['smarty']->_var['goods_cat']['id'].'-左边图片广告')); ?>{$index_cat_image}</div> <div class="f_r"><?php $GLOBALS['smarty']->assign('index_cat_image', get_adv('首页-分类ID'.$GLOBALS['smarty']->_var['goods_cat']['id'].'-右边图片广告'));?> {$index_cat_image}</div>
注意:整理要说明的是:
后台,广告列表,添加广告。广告名称必须以固定格式存在。如“首页-分类ID-1-左边广告图片”,表示调用分类ID为1的广告图片。
其他广告以此类推。
请教博主!,var[‘goods_cat’][‘id’]这个地方是否可以换!我是要用分类下的子分类ID来做这个的编号,可是不会用(不太懂ecshop,更不懂php)求教如何更改
这个是调取的商品分类ID号,可直接换为你的商品分类ID。如语句:<?php $GLOBALS[‘smarty’]->assign(‘index_cat_image’, get_adv(‘首页-分类ID4-右边图片广告’));?>但是这样的话,这个分类调用的广告都是 为“首页-分类ID4-右边图片广告”的广告了。知道方法自己修改了~
无意溜达到了你的网站 留下足迹
不错 学习了!
悄悄的路过。
来瞅瞅啦~