ecshop手机端模板引擎切换到smarty3.1.30-之改造insert_ads

在网上下载的一个小京东的模板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>


个人发表一点意见,商城这个东西是一个变化的东西,有一些东西是没有办法做成产品的,就像街头小吃一样。虽然有许多速食食品,依然不能取代小吃。

上一篇:危机?转机?云计算与*支持开源赐良机


下一篇:上海创业注册公司有哪些流程?