CODE:
我们在SupeSite系统的每个模板里,都可以看到类似的一段代码:
<!--{block name="spacenews" parameter="dateline/2592000/haveattach/1/showattach/1/order/i.viewnum DESC/showdetail/1/messagelen/180/messagedot/1/limit/0,1/cachetime/98800/subjectlen/30/cachename/hotnews/tpl/data"}-->
<div id="topicnews" class="block" style="height: 240px; overflow: hidden;">
<h3>月点击图文头条</h3>
<!--{loop $_SBLOCK[hotnews] $value}-->
<p class="blockintro"><a href="$value[url]"><img src="$value[a_thumbpath]" class="blockintroimg" alt="$value[subject]" /></a>$value[message]...<a href="$value[url]">阅读更多</a></p>
<!--{/loop}-->
</div>
这里给大家解释下这段代码的作用:
一、
<!--{block name="spacenews" parameter="dateline/2592000/haveattach/1/showattach/1/order/i.viewnum DESC/showdetail/1/messagelen/180/messagedot/1/limit/0,1/cachetime/98800/subjectlen/30/cachename/hotnews/tpl/data"}-->
包含两个部分的内容:
1、根据 parameter 后面给出的参数在数据库里查询某个数据表,将查询到的所有资源存放到 $_SBLOCK[变量名] 数组里。通俗的说法是,这段代码相当与一段SQL的 select 语句,查询的数据表是 name 后面的参数,查询的条件是 parameter 后面的参数,最后查询的果存放到 $_SBLOCK[变量名] ,变量名是 cachename 后面的参数。
2、确定这部分数据的缓存时间:cachetime后面的参数,单位是秒;确定这部分数据在页面的显示模板:tpl后面的参数,如:data,那么这段数据显示的模板是:.\styles\data.html.php。大家可以看到 .\styles\data.html.php 这个文件夹里没有定义任何样式,所以必须在 block 代码下方定义样式。
二、
<!--{loop $_SBLOCK[hotnews] $value}-->
...
<!--{/loop}-->
loop 的含义是:将 $_SBLOCK[hotnews] 数组里的资源,逐一存放到 $value 数组里。注意:loop 和 foreach() 函数的作用一样。
三、
<p class="blockintro"><a href="$value[url]"><img src="$value[a_thumbpath]" class="blockintroimg" alt="$value[subject]" /></a>$value[message]...<a href="$value[url]">阅读更多</a></p>
这一段内容,都是 html 标签,<a href="$value[url]">...</a>,含义是在页面展示一个 a 标签,a标签的指向是 $value[url]。一般情况下,我们都不知道 $value[] 数组里存放的内容是什么,我们可以应用的元素有哪些。这时,我们可以使用这个语句将 $value[] 数组打印到页面上。<!--{eval print_r($value);}-->
四、
为大家介绍常用的 parameter 参数含义:
请看这里:http://www.discuz.net/viewthread.php?tid=681076[ 本帖最后由 安笛 于 2008-2-20 15:48 编辑 ]
最新回复
我的朋友,我的家. 今天,你易客了吗?