ECShop这个代码怎么理解啊?{insert name='getlist_ads' id=1 num=5}
这个是ECshop首页index.dwt中首页导航下面几个切换广告图的代码。<divclass="mfpSlide"><divclass="slideBoxmain">{...
这个是ECshop首页index.dwt中首页导航下面几个切换广告图的代码。
<div class="mfpSlide">
<div class="slideBox main ">
{insert name='getlist_ads' id=1 num=5}
</div>
</div>
谁能给分析分析,这个是怎么一个执行的逻辑啊?怎么通过这些去找它们是怎么找函数、文件等的。
比如说程序看到这个的时候,是怎么一步步(先调用什么,后调用什么之类的)的到最后显示成首页的那几个滚动的广告条的。
类似的还有这几个:
1、
{insert name='ads' id=2 num=1}
------------------------------------------------------------------
2、
{foreach from=$order item=order}
<li>
<p class="lip1">{$order.user_name|truncate:8:"***":true}({$order.usercity}){$order.randtime}分钟前购买了{$order.goods_name}</p>
<p class="lip2"><a target="_blank" href="{$order.goods_url}">{$order.goods_name}</a></p>
</li>
{/foreach}
------------------------------------------------------------------
谢谢了。 展开
<div class="mfpSlide">
<div class="slideBox main ">
{insert name='getlist_ads' id=1 num=5}
</div>
</div>
谁能给分析分析,这个是怎么一个执行的逻辑啊?怎么通过这些去找它们是怎么找函数、文件等的。
比如说程序看到这个的时候,是怎么一步步(先调用什么,后调用什么之类的)的到最后显示成首页的那几个滚动的广告条的。
类似的还有这几个:
1、
{insert name='ads' id=2 num=1}
------------------------------------------------------------------
2、
{foreach from=$order item=order}
<li>
<p class="lip1">{$order.user_name|truncate:8:"***":true}({$order.usercity}){$order.randtime}分钟前购买了{$order.goods_name}</p>
<p class="lip2"><a target="_blank" href="{$order.goods_url}">{$order.goods_name}</a></p>
</li>
{/foreach}
------------------------------------------------------------------
谢谢了。 展开
展开全部
先说一句,什么用惯框架的人不容易懂,扯淡。
现在回答可能有点晚,不过,就当是给其他人一个参考吧。
{insert name='getlist_ads' id=1 num=5}
意思是ecshop获取广告名称为getlist_ads,且广告位id为1,该广告位置的广告数量为5.
ecshop它能识别【insert】是广告的名称,是因为,当我们新建一个广告位时,会出现以下模板
<table cellpadding="0" cellspacing="0">
{foreach from=$ads item=ad}
<tr><td>{$ad}</td></tr>
{/foreach}
</table>
我们会看到这有其中一句,from=$ads,这个ads就是insert识别到的名称,而怎么知道他是广告,后面的 item=ad,意思就表明了,项目的类型为广告。
这个就是为何ecshop能识别这是一句广告的原因。
而我们用insert的时候,需要对应新建广告位的那个from=$xxx,为的就是让ecshop识别它是从何而来的。
{insert name='ads' id=2 num=1}
同理,这个ads直接就对应了新建广告位时的默认名称。
而{foreach from=$order item=order}
这句就不好说啦,例如order这是一个订单参数,只有预先定义了相关的order功能,这才会有效果。
不过也解释一下吧,
from=$order查找order这个参数,类型定义为order(订单),$order.user_name调用预先定义好的用户者的订单,truncate是数据库的事情,不解释。
开始=====
{$order.user_name|truncate:8:"***":true},整句的意思是,调用订单者的名称并且删除订单者的名称前八个字符,用***代替。就是我们常见的:恭喜用户137******37获得大奖。
{$order.usercity}订单者的城市名称。
{$order.randtime}这个本应该是随机时间的,不知道定义,不好说。
{$order.goods_name}订单的商品名称。googs代表商品
{$order.goods_url}订单所对应的商品的地址
结束=====
这个效果大概是
*********尔康 北京 30分钟前购买了 充气的娃娃
*********日天 东京 32分钟前购买了 漏气的煤气罐
现在回答可能有点晚,不过,就当是给其他人一个参考吧。
{insert name='getlist_ads' id=1 num=5}
意思是ecshop获取广告名称为getlist_ads,且广告位id为1,该广告位置的广告数量为5.
ecshop它能识别【insert】是广告的名称,是因为,当我们新建一个广告位时,会出现以下模板
<table cellpadding="0" cellspacing="0">
{foreach from=$ads item=ad}
<tr><td>{$ad}</td></tr>
{/foreach}
</table>
我们会看到这有其中一句,from=$ads,这个ads就是insert识别到的名称,而怎么知道他是广告,后面的 item=ad,意思就表明了,项目的类型为广告。
这个就是为何ecshop能识别这是一句广告的原因。
而我们用insert的时候,需要对应新建广告位的那个from=$xxx,为的就是让ecshop识别它是从何而来的。
{insert name='ads' id=2 num=1}
同理,这个ads直接就对应了新建广告位时的默认名称。
而{foreach from=$order item=order}
这句就不好说啦,例如order这是一个订单参数,只有预先定义了相关的order功能,这才会有效果。
不过也解释一下吧,
from=$order查找order这个参数,类型定义为order(订单),$order.user_name调用预先定义好的用户者的订单,truncate是数据库的事情,不解释。
开始=====
{$order.user_name|truncate:8:"***":true},整句的意思是,调用订单者的名称并且删除订单者的名称前八个字符,用***代替。就是我们常见的:恭喜用户137******37获得大奖。
{$order.usercity}订单者的城市名称。
{$order.randtime}这个本应该是随机时间的,不知道定义,不好说。
{$order.goods_name}订单的商品名称。googs代表商品
{$order.goods_url}订单所对应的商品的地址
结束=====
这个效果大概是
*********尔康 北京 30分钟前购买了 充气的娃娃
*********日天 东京 32分钟前购买了 漏气的煤气罐
展开全部
第一个,是在那个位置调用了广告位,广告1个,名字为ads;
第二个,循环调用订单表商品
第二个,循环调用订单表商品
追问
功能我知道。
我想知道的是ecshop程序去解读这个标签的流程是什么。当ECShop的源程序看到{insert name='getlist_ads' id=1 num=5}这样一段代码的时候,它会做哪些事情?它怎么知道是调用哪个文件的哪段代码去执行?
谢谢!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ECSHOP是面向过程,是原生态,用惯框架的人不容易懂
{insert name='ads' id=2 num=1}
是一个标签 等效于 insert into {前缀}ads (id ,num) value(2,1); 的MYSQL语句
第二个是循环标签.
ECSHOP 不分模版,控制器,没什么哪里调用
要不你把整个类截图发来看看
{insert name='ads' id=2 num=1}
是一个标签 等效于 insert into {前缀}ads (id ,num) value(2,1); 的MYSQL语句
第二个是循环标签.
ECSHOP 不分模版,控制器,没什么哪里调用
要不你把整个类截图发来看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询