随着版本的更新,模板文件可能有所增减,不过基本方法不变。大家举一反三吧。
适用SS/XS全部版本

1,  SupeSite的模板文件和页面的关联

SupeSite的模板文件和页面url链接地址是有关联的。大家可以打开templates/default目录,可以发现其文件名都是有规律的。下面我会详细说明文件名和链接地址的具体关系。
下面列出的是templates/default里面的全部文件
可以看到文件名都是有规律的,以bbs_开头的都是论坛的页面文件,以blog_开头的都是日志的页面文件,同理文件、商品、书签、图片的页面都是一样的规律。
稍微懂点英文的人都可以看出,以论坛页面文件为例,
bbs_footer.html.php    代表论坛页面的页脚文件
bbs_forumdisplay.html.php  代表论坛页面的板块列表
                       对应url地址http://域名?action_forumdisplay_fid_板块编号.html
bbs_header.html.php   代表论坛页面的头部文件
bbs_index.html.php    代表论坛首页文件         对应url地址http://域名/action_bbs.html
bbs_viewthread.html.php  
代表论坛帖子查看页面   对应url地址http://域名/?action_viewthread_tid_帖子编号.html

从上面可以看出,url地址其实和文件名是一致的
再看日志的页面文件
其中有一个比较特殊的,就是blog_category.html.php,根据页面英文单词可以猜测为日志分类页面,确实是!
我们可以访问日志的分类,http://域名?action_category_catid_日志分类编号.html,也和文件名吻合。
其他文件、商品、图片、书签页面和日志是一模一样的。
资讯页面有2个特殊的,news_view.html.php  news_viewcomment.html.php
根据英文可以判断是资讯查看页面,和资讯评论查看页面。
其对应的url地址分别是http:/域名?action_viewnews_itemid_资讯编号.html
http://域名/?action_viewcomment_itemid_资讯编号.html

Snap2.jpg (121.38 KB)

2006-11-29 16:12

下面的图片是站点的相关文件
同样,根据上面的方法可以很快得出,分别是站点的公告页面、页脚、头部文件、站点友情链接、登陆、站点地图、快捷面板、投票、注册、搜索、安全问答、tag、tag查看全部页面、脚印页面
Spaces_开头的都是空间页面,分别是个人空间分类页面、个人空间页脚、头部、首页。

Snap4.jpg (80.1 KB)

2006-11-29 16:12

搞清楚了上面的文件和对应页面url访问链接关系之后,我们来接着看具体页面里的模块。
以站点首页为例,我们可以很快定位他对应的文件页面是templates/default/index.html.php

2,如何读懂模块代码

这个部分网点也说明过,大家可以看看http://www.discuz.net/thread-456494-1-1.html

首先需要说明的是SupeSite全部页面的信息都是通过模块来进行汇集的。你所看到的页面的每条内容都是利用SupeSite后台的模块功能创建并提取出来的。通过SupeSite的模块功能,您可以将X-Space、Discuz!的几乎全部内容都可以提出出来。
具体的创建模块代码,大家可以到SupeSite站点设置――模块功能里面进行创建,全过程都是采取的向导模式,非常简单,Sup也做过一个视频教程,大家可以看看http://www.discuz.net/thread-320058-1-1.html
推销下,如果您对SupeSite不了解,不妨多看看帮助文档板块的帖子,还有各个板块的置顶贴,相信对您了解SupeSite/X-Space将很有帮助。
下面我们来看一段最普通的模块代码,大家可以跟着我来读懂他。
<!--{blockname="category" parameter="type/news/isroot/1/ischannel/2/order/c.displayorder/limit/0,10/cachetime/25200/cachename/category_news/tpl/data"}-->

SupeSite创建的所有模块都具有下面的统一格式:
1)  以<!--{blockname="开始,以"}-->结束
2)  blockname=" "引号里面放的是模块的类型,SupeSite的模块类型都有固定的命名规则的。您可以这样查看。
登陆SupeSite站点设置――模块功能――模块列表,可以看到有下列基本模块

Snap6.jpg (76.2 KB)

2006-11-29 16:12

您可以将鼠标放置在任何一个基本模块的名称上,然后查看地址栏,都可以看到类似下面的url地址:

http://域名/admincp.php?action=blocks&viewblocktype=spacenews&blocktype=spacenews&op=
其中blocktype=spacenews这里就可以告诉您当前查看的模块的类型是什么
根据英文可以得出,spacenews就是资讯模块
同理其他模块类型也可以很方便的知道。
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小时
SupeSite有强大的缓存机制,可以将全部数据进行缓存起来,有效的减少数据库查询,加快页面的打开速度。

如果您要了解更多,可以登陆站点设置――模块功能――创建模块,随便进入一个创建模块的页面,查看源文件,就可以看到各个筛选条件对应的变量了
以创建日志模块为例,查看他的源文件:
随便截取一段,如下图:

Snap7.jpg (100.51 KB)

2006-11-29 16:19

其中黄色部分表示模块变量的中文意思,蓝色部分表示模块变量,灰色部分表示其对应的取值。
通过这种方法,您可以到各个创建模块的页面查看源文件,基本就能明白模块代码里面各个筛选条件是怎么来的,各自代表什么含义了。

通过上面的说明,相信以后大家见到一段模块代码都知道怎么入手分析了

3,  根据页面查找模块位置

我对边在SupeSite/X-Space官方站点http://x.discuz.net随便截了一张图片,如下图:
我们如何找到黄色区域的模块代码呢?对于不懂div+css的用户来说,也可以很快确定的~

首先,我们可以得到的直观感觉就是他有15条记录,并位于中间部位。
接下来,根据上面的内容,我们很清楚这个页面对应的文件是templates/default/index.html.php

Snap5.jpg (122.16 KB)

2006-11-29 16:12

第三步,我们用记事本打开templates/default/index.html.php这个文件

根据上面的模块知识,我们可以得到黄色部分肯定存在的一个筛选条件limit/*,15/
SupeSite的模块一般都是从0开始的,所以您可以在文件中查找下limit/0,15/

这样,您就可以很方便的找到
<!-- 1周回复热点 -->
                     <!--{block name="spaceblog" parameter="dateline/604800/notype/1/order/i.replynum DESC/subjectlen/34/subjectdot/1/limit/0,15/cachetime/1/showspacename/1/cachename/newinfos/tpl/data"}-->

如果他是唯一的,就说明您的模块代码找对了。如果不唯一,就可以再结合一点刚才说的模块的知识和页面的知识,也可以很快定位到具体的模块代码的。是不是很简单呢?呵呵

标准页面里面的模块提取的内容或许您不太满意,同样,利用刚才的模块知识,您可以在读懂了模块调用的内容之后根据您自己站点的需求修改为您自己的模块代码。

3,  修改模块代码适应自己站点
以上面找到的模块代码为例:
<!-- 1周回复热点 -->
                     <!--{block name="spaceblog" parameter="dateline/604800/notype/1/order/i.replynum DESC/subjectlen/34/subjectdot/1/limit/0,15/cachetime/1/showspacename/1/cachename/newinfos/tpl/data"}-->

大家可以自己到SupeSite站点设置――模块功能――创建一个新的模块并获取模块代码替换这段模块代码。
当然,如果您通过多次实践,已经完全熟悉SupeSite的模块参数说明,您也可以直接在这段模块代码中修改。
一般大家修改的比较多的无非是条数、缓存时间这些参数,可以这样修改:
limit/0,15这里读取的是从0行开始的15条数据,如果您需要8条数据,可以改为limit/0,8
cachetime/1这里表示的是缓存时间为1妙,如果您嫌太短,需要设置为1小时,可以修改为cachetime/3600
诸如此类。

最后,我要说明的是,SupeSite模块功能给了大家一个强大的自定义站点功能,从现在开始,您不再需要局限于标准程序的设计,通过灵活运用模块功能,您可以利用SupeSite将站点内的数据,打造出千千万万种站点模式!

转载于:https://www.cnblogs.com/zhuboxingzbx/articles/1137933.html

[转]SupSite页面文件与模块关系说明相关推荐

  1. npm 包与模块关系 下载使用包 init命令 package.json文件 node_modules文件夹 全局安装包和本地安装包 开发依赖和生产依赖

    npm 了解npm npm 全称Node Package Manager(node 包管理器),它的诞生是为了解决 Node 中第三方包共享的问题. npm 不需要单独安装.在安装Node的时候,会连 ...

  2. python打开文件报错无效序列_黑马python入门(4):python基础(序列,异常,操作文件,模块包,日志调试信息)

    序列 str声明:test_str="abcedf" 也可以保留字符串里面的格式来 test_str=""" \r\n测试标题 hello world ...

  3. Tornado源码分析 --- 静态文件处理模块

    每个web框架都会有对静态文件的处理支持,下面对于Tornado的静态文件的处理模块的源码进行分析,以加强自己对静态文件处理的理解. 先从Tornado的主要模块 web.py 入手,可以看到在App ...

  4. python质数列_现代化程序开发笔记(3)——多文件与模块

    本系列文章以我的个人博客的搭建为线索(GitHub 仓库:Evian-Zhang/evian-blog),记录我在现代化程序设计中的一些笔记.在这篇文章中,我将对现代编程语言的多文件和模块部分进行一些 ...

  5. Mybatis官方文档中的(XML映射文件)模块(半途凉了)

    Mybatis官方文档中的(XML映射文件)模块(半途凉了) 一.XML映射器属性的介绍 Mybatis的真正强大之处在于它的语句映射.他即可以自动的映射数据库中的字段和对象的属性. SQL映射文件有 ...

  6. (34)Gulp 构建HTML页面文件

    一.Gulp 构建HTML页面文件概述 我们的HTML文件将来再做大型项目时,文件HTML结构代码也是很多的,上传到服务器上线时也是有缓慢压力和内存占用较大的情况的,所以我们为了解决该问题,还需要对H ...

  7. app.vue 跳转页面_【在线教学】第8章 网站页面布局和模块设计

    第8章  网站页面布局和模块设计 8.1 网站页面布局 在设计网站界面时,将页面中的模块进行规范化的设计和合理的布局,能够实现网页内容的结构化,使访问者直观.迅速的找到需要的信息. 1.网站UI视觉规 ...

  8. Python(10)--文件读写/模块制作与发布

    文件读写 文件操作一般步骤: 打开文件 读/写文件 保存文件 关闭文件 [在python中操作文件也是遵循这几个步骤的] 打开文件 在Python中打开文件使用open函数,可以打开一个已经存在的文件 ...

  9. linux解决make依赖关系,makefile 自动处理头文件的依赖关系

    现在我们的Makefile写成这样: all: main main: main.o stack.o maze.o gcc $^ -o $@ main.o: main.h stack.h maze.h ...

最新文章

  1. dubbo源码解析(三十五)集群——cluster
  2. DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax+交叉熵误差)简介、使用方法、应用案例之详细攻略
  3. 威联通装linux百度网盘,威联通NAS使用百度云Docker教程,超简单!
  4. 事务连接中断_HTTP长连接和短连接
  5. 短视频APP开发:短视频特效SDK功能火爆来袭!
  6. 什么是ABAP的STATE_READ_ACCESS
  7. Windows 容器
  8. ASP.Net ListBox DropdownList 不同条目 设置 背景色 和 字体颜色
  9. WEB开发中合理选择图片格式
  10. Java中的几种对象(PO、VO、DAO、BO、POJO)
  11. 华为P50为屠榜而来:搭载超高像素1/1.18英寸大底主摄
  12. 计算机操作基本知识公务员,公务员计算机类操作系统知识.pdf
  13. Jmter安装和配置
  14. 求一个整数数组中和最大的连续子数组,例如:[1, 2, -4, 4, 10, -3, 4, -5, 1]的最大连续子数组是[4, 10, -3, 4]
  15. 关于限制水晶报表的导出格式
  16. 无线通信设备安装工程概预算编制_安装工程定额与预算编制——安装工程概预算培训...
  17. [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV...
  18. 数字电路与逻辑设计(复习)
  19. OS | 【四 文件管理】强化阶段大题解构 —— FAT文件系统、UFS文件系统访问文件过程
  20. ExoPlayer播放器剖析(七)ExoPlayer对音频时间戳的处理

热门文章

  1. c++面试中遇到的问题
  2. Java_异常_05_ OutOfMemoryError: Java heap space
  3. !Web云笔记--HTML基础
  4. TweenMax动画库学习(三)
  5. 多平台数据库客户端工具DBeaver
  6. 确保***测试计划成功的10个秘诀(语录)
  7. C#.NET通过Socket实现平行主机之间网络通讯(含图片传输的Demo演示)
  8. 数据库编程入门培训(二)
  9. 第十届中国信息安全大会召开 主打安全创新
  10. [译]LINT TO SQL 介绍(数据库查询) - Part.3