Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[转换] SupeSite模块参数: parameter 参数含义

[复制链接]
vov5601 发表于 2010-2-13 17:37:14 | 显示全部楼层 |阅读模式
我们在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>

这里为大家解释下这段代码的作用,相信大家看完这篇文章之后可以比较深入了解 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"}-->

包含两个部分的内容:

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参数含义:

order------------------------------以什么方式排序,常见的排序方式如下几种:
        displayorder--------------以后台设置的显示顺序排序
        views DESC----------------以查看数递减的方式排序
        replies DESC--------------以回复数递减的方式排序
        posts DESC----------------以帖子数递减的方式排序
        m.posts DESC--------------以会员贴子数递减的方式排序
        m.oltime DESC-------------以会员在线时间递减的方式排序
        u.dateline DESC-----------以会员注册时间递减的方式排序
        i.goodrate DESC-----------以信息好评数递减的方式排序
        u.spaceallnum DESC--------以会员个人空间的信息总数递减排序
        u.spaceblognum DESC-------以会员个人空间的日志总数递减排序
        g.usernum DESC------------以圈子会员数递减的方式排序
        g.lastpost DESC-----------以圈子最后更新时间递减的方式排序
limit------------------------------显示多少条信息
        0,100---------------------显示100条
dateline---------------------------发布时间范围,以秒(s)为单位
        2592000-------------------2592000秒,即:3天
showdetail-------------------------是否显示信息摘要
        1-------------------------1为显示(0为不显示)
messagelen-------------------------摘要显示的长度,以字节数为单位
        160-----------------------显示160个字节信息
subjectlen-------------------------主题的显示长度,以字节数为单位
        40------------------------显示40个字节信息
type-------------------------------设置信息的类型
        forum---------------------二级版块的信息
        goods---------------------商品的信息
        news----------------------资讯的信息
        video---------------------影音的信息
filetype---------------------------设置附件的类型
        image---------------------图片附件
lastpost---------------------------最后回复时间范围,以秒(s)为单位
        2592000-------------------2592000秒,即:3天
subjectdot-------------------------显示主题时,如果主题长度大于显示长度,末尾是否加点
        1-------------------------末尾加点(0为末尾不加点)
messagedot-------------------------显示摘要时,如果摘要长度大于显示长度,末尾是否加点
        1-------------------------末尾加点(0为末尾不加点)
showattach-------------------------是否显示附件信息
        1-------------------------显示附件信息
haveattach-------------------------是否必须包含附件
        1-------------------------必须包含附件
isstar-----------------------------空间之星
        1-------------------------是
perpage----------------------------每页显示的信息条数
        15------------------------显示15条
regdate----------------------------注册时间范围,以秒(s)为单位
        2592000-------------------2592000秒,即:3天


再给大家介绍一个技巧:一般可以通过英文意思来判断参数的含义,例如subjectlen,是subject length,即:主题长度。

以上给大家介绍的是调用 spacenews 表里的信息,即资讯的信息。另外SupeSite 可以和 Discuz! 完美整合,如此在 SupeSite 里同样可以调用 Discuz! 的数据。
BTGEGE 发表于 2010-3-13 21:46:48 | 显示全部楼层
lz好帖!收藏之。
顶了!
回复

使用道具 举报

々脚印 发表于 2010-3-14 17:43:57 | 显示全部楼层
官方有出标签说明文档的啦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 03:39 , Processed in 0.021742 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表