我們在ecshop模板制作當中,有時候對廣告的調用不能局限于默認的ecshop的表情規則,比如要調用后臺指定廣告位下所有廣告循環,如何處理呢?
最模板抽空做了個函數:
function get_position_ads($id)
{
$sql = "select * from " . $GLOBALS['ecs']->table('ad') . " where position_id = ".$id." AND enabled = 1 order by ad_id";
$rows = $GLOBALS['db']->getAll($sql);
if($rows )
{
$sql = "select ad_width,ad_height from " . $GLOBALS['ecs']->table('ad_position') . " where position_id = ".$id." limit 1";
$ad_position = $GLOBALS['db']->getRow($sql);
foreach($rows as &$row )
{
$row['pic']= 'data/afficheimg/'.$row['ad_code'];
$row['width'] = $ad_position['ad_width'];
$row['height'] = $ad_position['ad_height'];
}
}
return $rows;
}
然后顯示頁加入 $smarty->assign('zuimoban', get_position_ads(1)); 后面的1 指的是廣告位ID.
模板里引入:
{foreach from=$zuimoban item=zuimobanlist}
<td><a href="{$zuimobanlist.ad_link}" title="{$zuimobanlist.ad_name}" target="_blank"><img src="{$zuimobanlist.pic}" width="980" height="387" alt="{$zuimobanlist.ad_name}" /></a></td>
{/foreach}
至此模板上調用指定廣告位就正常顯示了。 以后只需改指定廣位下廣告就行
新聞熱點
疑難解答