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:// 广告位

 

转载于:https://www.cnblogs.com/sakura-panda/p/3441130.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值