ecshop ad调用指定广告的方法 邓士鹏
在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表示数量