• ecshop调用后台指定广告位下所有广告循环


    ecshop本身的广告调用规则是:对某个广告位下的广告列表随机显示其中一条。

    而我们有时需要将某个广告位下的所有广告全部显示出来,那么如何处理呢,下面就自己做了一个函数:

    includeslib_common.php  在最下面增加一个函数:根据传入的广告id,获取广告数组,全站通用。

     1 function get_position_ads($id)
     2 {
     3     $sql = "select * from " . $GLOBALS['ecs']->table('ad') . " where position_id = ".$id." AND enabled = 1 order by ad_id";
     4     $rows = $GLOBALS['db']->getAll($sql);
     5     if($rows )
     6     {
     7      $sql = "select ad_width,ad_height from " . $GLOBALS['ecs']->table('ad_position') . " where position_id = ".$id." limit 1";
     8      $ad_position = $GLOBALS['db']->getRow($sql);
     9      foreach($rows as &$row )
    10      {
    11      $row['pic']= 'data/afficheimg/'.$row['ad_code'];
    12      $row['width'] = $ad_position['ad_width'];
    13      $row['height'] = $ad_position['ad_height'];
    14      }
    15     }
    16     return $rows;
    17 }

    然后显示页加入smarty语句,

    例如我们需要在首页加入一个广告列表,就在index.php中查找assign_template();

    在这句话的下面加入

    $smarty->assign('addiy', get_position_ads(1));

    最后在模板文件中把数据调用出来,这也是smarty引擎通用的方法。

    打开 hemesdefaultindex.dwt 模板,引入:

    {foreach from=$addiy item=addiylist}
    <a href="{$addiylist.ad_link}" title="{$addiylist.ad_name}" target="_blank">
        <img src="{$addiylist.pic}" width="980" height="387" alt="{$addiylist.ad_name}" />
    </a>
    {/foreach}

    相关内容:

    ecshop添加广告位方法和常规调用

    http://zhidao.baidu.com/link?url=X-uj76er80lDun5seoCSMHnvHbFCdwxUcmSwZnwVSivKutuza8os79qHiIrZlyYPpPfxsdJnQGeS_Z-AEs1wk4Mm-fEEEcSVMhs_lIWN7C_

    ecshop中广告位的ID是在哪里查看?

    ecshop当中的广告位ID,具体查看也是状态栏

    更多ecshop问题参考:http://www.zuimoban.com/php/ecshop/

  • 相关阅读:
    文艺青年会看这本《迷局》么?
    看文艺青年怎么玩微信客户端
    Sublime Text有哪些使用技巧(转)
    C++ 关键字 explicit, export, mutable
    move语义和右值引用
    C++11 std::function用法
    function adapter(函数适配器)和迭代器适配器
    for_each()的返回值
    C++11的一些新特性
    setw和setfill控制输出间隔
  • 原文地址:https://www.cnblogs.com/woodk/p/4776384.html
Copyright © 2020-2023  润新知