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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[教程] 调用变量代码 (6月10日更新)

[复制链接]
Stud 发表于 2007-6-9 21:24:51 | 显示全部楼层 |阅读模式
模板对应说明: https://discuz.dismall.com/thread-499888-1-3.html
代码调用说明: https://discuz.dismall.com/thread-645628-1-2.html
数据调用列表: https://discuz.dismall.com/thread-574480-1-2.html
页面文件与模块关系说明: https://discuz.dismall.com/thread-471226-1-2.html

相信大家可能跟我一样,在修改 SS 风格时,有时会遇到要调用数据却不晓得如何调用.
本帖就是要收集所有可用的变量代码,请大家一同来努力完善,让帖子更完整.任何用户
添加新的变量代码,我将会编辑本帖更新.首先我就写几个比较常用到的变量:

全局:

站台地址 {S_URL}
風格路徑 $_SCONFIG[template]
您的位置 $value[name]
鏈接地址 $value
帖子標題 $value[subject]
分類名 $cat[name]
分類編號 $cat[catid]
子分類編號 $cat[subcatid]

资讯 spacenews
日志 spaceblog
图片 spaceimage
商品 spacegoods
影音 spacevideo
文件 spacefile
书签 spacelink
圈子 group
标签 tag

刚刚到处逛逛,发现到这篇帖子 [url]https://discuz.dismall.com/thread-471226-1-2.html
果然是还有很多变量
是我没想到的,在此也把它补充进来.

blocktype=category   系统分类模块
blocktype=spacenews  资讯模块
blocktype=poll       投票模块
blocktype=spaceblog   日志模块
blocktype=spaceimage  图片模块
blocktype=spacefile    文件模块
blocktype=spacegoods  商品模块
blocktype=spacelink    书签模块
blocktype=tag         TAG模块
blocktype=spacetag     TAG文章信息模块
blocktype=spacecomment   用户回复模块
blocktype=userspace    个人空间列表模块
blocktype=announcement   站点公告模块
blocktype=bbsthread    论坛主题模块
blocktype=bbsannouncement   论坛公告模块
blocktype=bbsforum   论坛板块模块
blocktype=bbslink    论坛友情链接模块
blocktype=bbsmember  论坛会员模块
blocktype=bbsattachment  论坛附件模块
blocktype=bbspost  论坛帖子模块

1)  parameter=""这里存放的就是各个模块的具体筛选参数了,相同的模块类型调出来的内容不同就是通过这里控制的,而这里的参数也是SupeSite/X-Space 模块功能自动生成的。
2)  type/news/isroot/1/ischannel/2/order/c.displayorder/limit/0,10/cachetime/25200/cachename/category_news/tpl/data
这段就是模块参数的筛选条件。这里由许多条件通过/组合起来。您稍微留心点,可以发现,上面的代码通过/分成偶数段,从左至右每2段组成一个基本筛选条件,左边代表筛选名字,右边代表筛选条件
例如上面的
type/news  和/isroot/1 和ischannel/2 和order/c.displayorder 和limit/0,10 和cachetime/36800等都是一个独立的基本筛选条件,
我稍微解释下:
type/表示类型,右边的/news表示资讯,所以type/news表示这个模块取的内容来自资讯
同理/isroot/1这个左边isroot表示根分类,右边1表示条件成立(这里1表示是,2表示否,下面的专题也是一样),所以这个/isroot/1表示是根分类
ischannel/2这个左边表示是专题,右边2表示不属于专题。
order/c.displayorder这个参数很重要,一般每个模块都会有,这个代表的是排序的条件。
Limit/1,10这个参数也很重要,一般每个模块都会有,这个代表的是取的数据的条数限制,limit右边的2个数字,左边代表的是取的数据的起始行数,右边代表取的数据条数,所以Limit/1,10就表示从第一行数据开始取10条数据。
cachetime/25200表示的是缓存时间,单位为妙。所以这个就代表缓存时间是7小时


奇怪.cachetime 单位我还以为是分钟?

用法 <!--{block name="spaceblog" parameter="dateline/604800/showattach/1/showdetail/1/order/i.dateline DESC/limit/0,1/subjectlen/34/subjectdot/1/messagelen/180/messagedot/1/cachetime/68600/cachename/coolblog/tpl/data"}-->

最新发布 dateline
最新回复 lastpost
浏览数 viewnum
回复数 replynum

用法 <!--{block name="spaceblog" parameter="dateline/604800/showattach/1/showdetail/1/order/i.dateline DESC/limit/0,1/subjectlen/34/subjectdot/1/messagelen/180/messagedot/1/cachetime/68600/cachename/coolblog/tpl/data"}-->

注意: 在一般情况下都是用 i.变量质,但圈子是用 g 而标签是用 t,也就是原本应该是 i.dateline 要改成 t.dateline

一天 86400 (以秒计算)
一周 604800
一月 18144000
递增 ASC
递减 DESC
标题长度 subjectlen
文本长度 messagelen

用法 <!--{block name="spaceblog" parameter="dateline/604800/showattach/1/showdetail/1/order/i.dateline DESC/limit/0,1/subjectlen/34/subjectdot/1/messagelen/180/messagedot/1/cachetime/68600/cachename/coolblog/tpl/data"}-->

ps.我不晓得上面的 dateline/604800 跟 cachetime/68600 有什么差别?
subjectdot 跟 messagedot 又是做什么用的?断字吗?


调用个数 limit/0,1 (0 是从第几笔数据开始调用,1是要调用几笔数据)

用法 <!--{block name="spaceblog" parameter="dateline/604800/showattach/1/showdetail/1/order/i.dateline DESC/limit/3,10/subjectlen/34/subjectdot/1/messagelen/180/messagedot/1/cachetime/68600/cachename/coolblog/tpl/data"}-->

意思是要从第 3 笔数据开始调用,总共要调用 10 笔数据.通常是不希望内容重覆而使用.
比方说我首页已显示 2 张最新图片,在图片页时我不希望重覆这两张,所以从第 3 笔开始
调用,但写法要写成 2,因为是从 0 开始算起.

显示附件 showattach
显示详情 showdetail
不使用 0
使用 1

用法 <!--{block name="spaceblog" parameter="dateline/604800/showattach/1/showdetail/1/order/i.dateline DESC/limit/3,10/subjectlen/34/subjectdot/1/messagelen/180/messagedot/1/cachetime/68600/cachename/coolblog/tpl/data"}-->

[ 本帖最后由 Stud 于 2007-6-10 01:30 编辑 ]

评分

1

查看全部评分

 楼主| Stud 发表于 2007-6-9 21:25:40 | 显示全部楼层

資訊

最新资讯 newnews
人气最旺 hotnews
回复最多 headnews

ps.是不是还有其他变量?我记得有看过一个 coolnews 的变量?


用法 <!--{block name="spacenews" parameter="dateline/604800/showattach/1/showdetail/1/order/i.dateline DESC/limit/0,1/subjectlen/34/subjectdot/1/messagelen/180/messagedot/1/cachetime/18600/cachename/newnews/tpl/data"}-->

<!--{if !empty($_SBLOCK['newnews'])}-->
  <!--{loop $_SBLOCK['newnews'] $value}-->
    <a href="$value" target="_blank"><font color=#000 style="font-weight:bold;font-size:18px;margin-bottom:6px;">$value[subject]</font></a><br>
    <font color=#666666 style="font-size:12px;">$value[message]</font>
  <!--{/loop}-->
<!--{/if}-->

底下这变量是我发现相当实用的,官方却没有发挥出来.效果大家可以看一下
[url]http://www.metro.com.tw
也就是当帖子含有图片附件时,会直接秀出来.

<!--{if !empty($value[a_thumbpath])}-->
  <a href="$value[url]" target="_blank" title="$value[subjectall]"><img src="$value[a_thumbpath]" align="right" width="100" style="padding:2px; border:1px solid silver;" alt="$value[subjectall]" /></a>
<!--{/if}-->

这句加在哪呢?以上面的例子来说

<!--{if !empty($_SBLOCK['newnews'])}-->
  <!--{loop $_SBLOCK['newnews'] $value}-->
     <!--{if !empty($value[a_thumbpath])}-->
        <a href="$value[url]" target="_blank" title="$value[subjectall]"><img src="$value[a_thumbpath]" align="right" width="100" style="padding:2px; border:1px solid silver;" alt="$value[subjectall]" /></a>
     <!--{/if}-->

    <a href="$value[url]" target="_blank"><font color=#000 style="font-weight:bold;font-size:18px;margin-bottom:6px;">$value[subject]</font></a><br>
    <font color=#666666 style="font-size:12px;">$value[message]</font>
  <!--{/loop}-->
<!--{/if}-->

资讯,日志跟论坛皆适用.

资讯分类列表

<!--{loop $_SBLOCK['category'] $ckey $cat}-->
  <!--{eval $ctime=1800+30*$ckey;}-->
    <!--{block name="spacenews" parameter="catid/$cat[subcatid]/order/i.dateline DESC/limit/0,10/cachetime/$ctime/subjectlen/21/subjectdot/1/cachename/newslist/tpl/data"}-->
       <div class="blockcategory" style="border:1px solid #8076b4;">
           <h3><a href="#action/category/catid/$cat[catid]#">$cat[name]</a></h3>
           <ul class="msgtitlelist" style="padding-left:8px;" nowrap>
               <!--{loop $_SBLOCK['newslist'] $value}-->
                  <li><cite>#date("m-d", $value["dateline"])# </cite><a href="$value[url]">$value[subject]</a></li>
               <!--{/loop}-->
               <li><a href="#action/category/catid/$cat[catid]#" class="more">更多</a></li>
            </ul>
        </div>
<!--{/loop}-->

老实说,我看不是很懂, $ckey $ctime 怎么算?

[ 本帖最后由 Stud 于 2007-6-9 21:57 编辑 ]

评分

1

查看全部评分

回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:26:15 | 显示全部楼层

日誌

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:26:34 | 显示全部楼层

圖片

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:27:17 | 显示全部楼层

文件

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:27:40 | 显示全部楼层

商品

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:28:00 | 显示全部楼层

影音

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:28:16 | 显示全部楼层

書籤

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:28:44 | 显示全部楼层

圈子

佔位佔位佔位佔位
回复

使用道具 举报

 楼主| Stud 发表于 2007-6-9 21:29:06 | 显示全部楼层

論壇

佔位佔位佔位佔位
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 02:25 , Processed in 0.036196 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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