zoukankan      html  css  js  c++  java
  • ecshop广告分析

    ecshop模板中,显示广告的库项目是ad_position.lbi,其内容只有一个语句:

    {insert name='ads' id=$ads_id num=$ads_num}


    smarty的insert类似于include,意思是在这个位置引用一些公用的库。 这里 name='ads' 表示Smarty 在你的 php 程序中搜索名为 insert_ads() 的函数,调用该函数,并传递两个参数过去id=$ads_id num=$ads_num ($ads_id 和 $ads_num的值被组合成一个数组作为函数的第一个参数传递给该函数)

    function insert_ads($arr)

    $ads_id 和 $ads_num的值来自哪里呢?同一个页面引用ad_position.lbi的时候,语句一样,但值却不一样,这两个变量什么时候被赋值了?
    原来在lib_main.php中被动态替换的:

    function dyna_libs_replace($matches)

    而在function smarty_prefilter_preCompile 中,会
    它通过get_dyna_libs 去数据库检索 template表,核对动态模块。

    数据库template表中type自动值大于0的是是动态模块, 动态模块种类有:

    $row['type'])

    case 1:// 分类的商品

    case 2:// 品牌的商品

    case 3:// 文章列表

    case 4:// 广告位

  • 相关阅读:
    C#获取本地IP地址
    C#中将字符串转换成数值
    JavaScript实现基于对象的双端队列
    Java网络编程
    JavaScript实现基于对象的队列
    JavaScript实现基于对象的栈
    JavaScript实现基于数组的栈
    发送短信按钮倒计时案例
    JavaScript动态显示时间
    html
  • 原文地址:https://www.cnblogs.com/sakura-panda/p/3441130.html
Copyright © 2011-2022 走看看