我们现在就是用supersite这个模版:
1.进入 模板模块向导 -> 模块列表 -> 创建模块,按资讯
输入以下内容:模块名: PP显示详细信息: 显示详细信息变量名:abc选择模块风格文件: 只获取数据按提交
并得到以下模板内部调用代码:1a.
因为我们只获取数据,所以就要再做一点功夫来调出东西,
1b.以下这个就是常用调东西的代码:
我们只要注意一点:$_SBLOCK[' '] 中填写的必需是刚才设置的变量,也即是abc
1c.这部分所完成的代码合并起来:
1.
2.
3.parameter=”limit/0,10/cachetime/900/showdetail/1/cachename/abc/tpl/data”}–>
4.
5.
6.
7.
复制代码
跟住我们要调出资讯的标题及连结,该如何呢 ?
以下是对应调用变量:标题:$value[subject]连结:$value[url]
1d.我把这些写进1c. 步骤中:
1.
2.
3.
4.
5.
6.标题:$value[subject]
7.连结:$value[url]
8.
9.
复制代码
好了,我们的代码完成。
现在打开templates\default\index.html.php用以下一段覆盖全部:
1.<?exit ?>
2.html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
3.“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
4.
5.
6.
7.charset=$_SCONFIG[charset]” />
8.
$_SCONFIG[sitename] $_SCONFIG[seotitle]- Powered By9.SupeSite
10.
11.[seokeywords]” />
12.
13.$_SCONFIG[seodescription]” />
14.
15.href=”{S_URL}/templates/$_SCONFIG[template]/css/style.css” />
16.$_SCONFIG[seohead]
17.
18.var siteUrl = “{S_URL}”;
19.
20.
21.
23.
24.
25.
26.
27.
复制代码
跟着在
中加入1d. 完成的代码,效果如下:1.<?exit ?>
2.html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
3.“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
4.
5.
6.
7.charset=$_SCONFIG[charset]” />
8.
$_SCONFIG[sitename] $_SCONFIG[seotitle]- Powered By9.SupeSite
10.
11.[seokeywords]” />
12.
13.
14.href=”{S_URL}/templates/$_SCONFIG[template]/css/style.css” />
15.$_SCONFIG[seohead]
16.
17.var siteUrl = “{S_URL}”;
18.
19.
21.
22.
23.
24.
25.
26.
27.
28.标题:$value[subject]
29.连结:$value[url]
30.
31.
32.
33.
34.
复制代码
进行储存档案,并打开SS主页看。
嗯,有效果了,也成功了。
但我究竟当初是如何知道调用标题的变量是$value[subject] ?
在这里说一点,SS中所有发表大致是存在数据库 supe_spaceitems 表中
而我们也差不多要靠这个表调用数据。
2a. 现在我们随便在资讯发一篇文章。再用PHPMYADMIN进入supe_spaceitems 表中(在这不教如何使用PHPMYADMIN了)
按浏览,看见以下
[attach]136796[/attach]
我们随便取出三个:username subject viewnum
并用这种形式写:$value[username]$value[subject]$value[viewnum]
好了,现在加入去,完整码如下:
1.<?exit ?>
2.html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
3.“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
4.
5.
6.
7.charset=$_SCONFIG[charset]” />
8.
$_SCONFIG[sitename] $_SCONFIG[seotitle]- Powered By9.SupeSite
10.
11.
12.
13.href=”{S_URL}/templates/$_SCONFIG[template]/css/style.css” />
14.$_SCONFIG[seohead]
15.
16.var siteUrl = “{S_URL}”;
17.
18.
20.
21.
22.
23.
24.
25.
26.
27.标题:$value[subject]
28.连结:$value[url]
29.$value[username]
30.$value[subject]
31.$value[viewnum]
32.
33.
34.
35.
36.
复制代码
再存一存,看效果。现在你也应该明白了。就这样,再加点HTML + CSS 美化就可以了。
而其他数据分别在其他表中,以下是其中常用的:supe_spacefilessupe_spacegoodssupe_spaceimagessupe_spacelinkssupe_spacenews
举一个例子:资讯的除了supe_spaceitems表中,还有supe_spacenews 表中存有资讯的数据
其他那个表对应那个 ? 现在靠你自己查找了程序开发一般都是团队的,所以数据命名都很好。对懂点英文的一看,便可以推断出来,不懂的现在靠你的金山词霸了。
而自己输入模块风格文件又是如何应用呢 ?其实只是把1d. 的代码写入一个文件中,方便经常调用。
学习如何去学习,期待你们的模板 ^^
SupeSite 的模板机制和模板参数,特此做该教程说明供大家参考。
我们在 SupeSite 系统的每个模板里,都可以看到类似的一段代码:
月点击图文头条
$value[message]...阅读更多
这里给大家解释下这段代码的作用:
一、
包含两个部分的内容:
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 和 foreach() 函数的作用一样。
三、
$value[message]...阅读更多
这一段内容,都是 html 标签,…,含义是在页面展示一个 a 标签,a 标签的指向是 $value[url]。一般情况下,我们都不知道 $value[] 数组里存放的内容是什么,我们可以应用的元素有哪些。这时,我们可以使用这个语句将 $value[] 数组打印到页面上。
uchome针对简单的if相关判断我们做了一个阐述和初步学习,根据大家的需求,这次我们主要谈一下loop循环调用的事情。
首先呢,我们要理解数组,数组的定义我就懒得在这里说了,大家先去查一下相关资料。我只是做一个补充,让初学者更好理解。数组呢,可以考虑成为一种序列,例如我们拿着一手好牌,扑克牌会有花色,有些扑克牌上有图画什么的。数组也类似,数组也有代号,代号指向这个里面的内容。
例如我们有一个数组,$list=array(’0′=>’这里是0号里面的内容’,'1′=>’这里表示1号里面的内容’,'2′,’3′……); //这句代码不规范,只做理解上面这句代码,表示将$list这个变量赋值为一个数组,这个数组里面代号0里面的数据呢,就是“这里是0号里面的内容”,那么1,2……就不用说了。
这样我们怎么调用这里面的内容呢?我们想要显示“这里表示1号里面的内容”这句,我们就直接使用$list['1']就好了,表示我要显示$list数组里面1号表示的内容。
这时候,我想很多看过我之前教程的朋友就会问,是不是那个表示是否登陆的全局变量也是一个数组呢?~哈哈,加十分,鼓励你的细心“$_SGLOBAL['supe_uid']”这就是一个标准的数组元素啦,(我这样叫,哈哈,理解就好)他表示全局数组$_SGLOBAL里面的表示登陆状态下uid的数字,如果不明白,参考一下第一讲就好了,再不理解的话,把kongkang当成火星人……
现在理解了这个数组的意思,我们再次拓展:如果代号1里面的内容还是一个数组呢?这样就引申出来一个数组套数组的东西,我们叫做二维数组,那么三维数组,四维等等你就理解了吧?
那么,发挥你的大脑判断,如果我要调用一个二维数组里面的某个变量值怎么做呢?哇哈哈,你真是太有才了,那就是用两个中括号来表示:$list['1']['username']这个就表示,数组$list下的1号(也是数组哦)元素下的,“username”号内容。
这时候,有朋友就问了,这个username也能作为一个代号么?那么我就问,9527表示周星星的话,我们叫周星星,是不是也代表这个人呢?所以,数组里面负责代号的部分,可以是数字或者是字符串,也就是说,username可以表示这个数组里面的某个代号,他的值可能就是kongkang。
如果你糊涂了,那就多看几次,慢慢理解,我理解这个东西也很头疼,毕竟当时很白,呵呵更多关于数组的知识,还是需要你自己学习下
那么有了数组的概念,我们就可以看看模板里面loop这个标签怎么操作数组的了。[code]
$value[username][/code]上面这个例子就表示了一个最简单的用户列表的调用。其中$list代表了一个二维数组,这个数组组成是这样的,首先:按照数字排序0号,1号,2号……而每一个编号里面又是一个数组,这个数组就记录着每一个用户的信息,例如uid号,里面就记录着这个用户的id数字;username号,就代表这个用户的用户名是什么。loop的意思,通过上面的例子,我们可以这样理解:
loop自动将数组$list分解,将按照$key(第一层代号,就是上面说的0,1,2……)的顺序,依次将每一个代号表示的数组调用出来,提供给loop里面的模板文件来使用。每次调用出来的数组,自动赋值到$value里面(也就是说,刚才的代号0表示的数组,就直接把值赋给了$value),那么$value[uid]就表 示本次循环的用户的uid数字,而$value[username]就表示本次循环的用户的用户名咯。那么随着按照$key顺序的依次循环,里面 的
$value[username]现在我们就可以打开后台,看看那个数据调用的东西,原先那么神奇,现在是不是明白,模板部分要怎么写了?就到这里,希望大家能有所领会,无论讲多少,最后还要动手你才能理解。
期待你做出来漂亮的模板,一些相关php的东西我将在讲解插件制作的时候再说,现在我们先把模板部分打好基础哦~~~
Superstte 模板
参数机制
我们在SupeSite系统的每个模板里,都可以看到类似的一段代码:id="topicnews" class="block" style="height: 240px; overflow: hidden;">
月点击图文头条
[url=="$value[url]">$value[message]...[url=="$value[url]">阅读更多这里为大家解释下这段代码的作用,相信大家看完这篇文章之后可以比较深入了解 SupeSite模板机制,从而更加方便地进行模板修改,也可以更加灵活地进行数据调用。一、包含两个部分的内容: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和foreach()函数的作用一样。三、
[url=="$value[url]">$value[message]...[url=="$value[url]">阅读更多这一段内容,都是 html标签,[url=="$value[url]">...,含义是在页面展示一个a标签,a标签的指向是$value[url]。一般情况下,我们都不知道 $value[]数组里存放的内容是什么,我们可以应用的元素有哪些。这时,我们可以使用这个语句将 $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天
SuperSite调用说明-全局篇
1、网站位置:{S_URL}
2、论坛位置:{B_URL}
3、网站名称:$_SCONFIG[sitename]
4、网站编码:$_SCONFIG[charset]
5、管理员信箱:$_SCONFIG[adminemail]
6、SUPERSITE版本号:=S_VER?>
7、信息产业部网站备案号:{eval debuginfo();}
8、登录用户名:$_SGLOBAL[supe_username]
9、当前页面:
$value[name]
10、搜索页面:{S_URL}/batch.search.php
11、登录页面:{S_URL}/batch.login.php
12、用户个人面板:
13、快捷面板:{S_URL}/?action_site_type_panel
14、站点地图:{S_URL}/?action_site_type_map
15、友情链接:{S_URL}/?action_site_type_link
16、时间单位dateline:
1小时3600;1天86400;1周604800;2周1209600;1月2592000;永久315360000
17、时间格式:
#date("Y-n-d H:i:s", $value["dateline"])#
#date('Y-n-d H:i', $news["dateline"])#
18、等级grade:1、2、3、4、5
19、有无:0表示无;1表示有
20、缓存时间cachetime
21、取得数据个数limit
22、截取长度len:字节单位(2个字节为1个汉字,比如20表示保留10个汉字)
23、相关链接:
站点首页:#action/index#
资讯:#action/news#
博客:#action/blog#
商品:#action/goods#
论坛:#action/bbs#
相册:#action/image#
文件:#action/file#
书签:#action/link#
注册:{B_URL}/register.php?referer={S_URL}/index.php?action_login
申请个人空间:#action/register#
站点管理平台:{S_URL}/admincp.php
登录站点:#action/login#
退出站点:{S_URL}/batch.login.php?action=logout
个人空间首页:#uid/$_SGLOBAL[supe_uid]/action/space#
个人控制面板:{S_URL}/spacecp.php?uid=$_SGLOBAL[supe_uid]
忘记密码:{B_URL}/member.php?action=lostpasswd
24、分页导航:
$_SBLOCK[newlist_multipage]
当前只有一页 |