在網上下載的一個小京東的模板4.1的模板,原模板引擎是ecshop的,感覺不是很好用,切換到smarty吧,
選擇了新版的smarty3.1.30使用,遇到的第一個問題就是有一些函數使用起來不對,所以改造一下,遇到的第一個就是insert_ads
這個廣告在手機端只顯示一個,所以就簡化了一個,改成了這個樣子
function insert_ads1($arr)
{
static $static_res = NULL;
$time = gmtime();
$sql = 'SELECT a.ad_id, a.position_id, a.media_type, a.ad_link, a.ad_code, a.ad_name, p.ad_width, ' .
'p.ad_height, p.position_style, RAND() AS rnd ' .
'FROM ' . $GLOBALS['ecs']->table('ecsmart_ad') . ' AS a ' .
'LEFT JOIN ' . $GLOBALS['ecs']->table('ecsmart_ad_position') . ' AS p ON a.position_id = p.position_id ' .
"WHERE enabled = 1 AND a.position_id = '" . $arr['id'] .
"' AND start_time <= '" . $time . "' AND end_time >= '" . $time . "' " .
'ORDER BY rnd LIMIT 1';
// echo $sql;
$row = $GLOBALS['db']->getrow($sql);
$src = (strpos($row['ad_code'], 'http://') === false && strpos($row['ad_code'], 'https://') === false) ?
DATA_DIR . "/afficheimg/$row[ad_code]" : $row['ad_code'];
$ads = "<a href='affiche.php?ad_id=$row[ad_id]&uri=" . urlencode($row["ad_link"]) .
"' target='_blank'><img src='$src' width='" . $row['ad_width'] . "' height='$row[ad_height]' border='0' /></a>";
return $ads;
}
而對於前臺的調用,使用這樣的語法就可以調用了
<dt> {insert name="ads1" id="6" num="1"}</dt>
個人發表一點意見,商城這個東西是一個變化的東西,有一些東西是沒有辦法做成產品的,就像街頭小吃一樣。雖然有許多速食食品,依然不能取代小吃。