Discuz! 官方站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 38913|回复: 45

Mini-Space 模板结构以及功能拓展手册 [2007-3-11]

[复制链接]
发表于 2007-3-11 11:35:27 | 显示全部楼层 |阅读模式
Mini-Space发布后,估计很多人希望制作自己站点的 Mini-Space 风格及模块吧,再此,我向大家介绍下 Mini-Space 模板、风格以及模块的开发方法

一、Mini-Space 的模板结构

Mini-Space 采用一套模板文件多套 CSS 的方式切换模板,因此所有风格的 Mini-Space 其实都是在使用一套模板。

模板文件在 templates/default 目录下

                  
space.htm
Space 主模板
Space 所有页面都需要调用的模板文件,模板分为以下几块:
 顶部区 menu_top
 头部区 header
 菜单区 menu
 模块区 main_layout0 代表左侧  main_layout1 代表中间、main_layout2 代表右侧
 尾部区 footer
space_topic.htm
Space 文集页模板
显示文集内容的模板,模板分为以下几块:
 文集主题 module_topic
 文集评论 module_topiccomment
space_module.htm
Space 各个模块的模板
此模板存放了 Space 的各个模块的子模板,其中通过函数的形式定义了各个模块的子模板,包含如下函数:

 特殊主题前缀   threadspecial   此函数不是模块模板,而是以下每个模块都需要用到的部分
 用户信息模块   userinfo
 文集日历模块   viewcalendar
 主题模块     mythreads
 回复模块     myreplies
 悬赏模块     myrewards
 交易模块     mytrades
 文集模块     myblogs
 发表文集模块   postblog
 最热文集模块   hotblog
 收藏的论坛模块  myfavforums
 收藏的主题模块  myfavthreads
 好友模块     myfriends

各个模块函数的模板语法基本结构为:
  1. <!--{if $mod}-->

  2.  模块显示在单独列表页时的模板

  3. <!--{elseif $center}-->

  4.  模块显示在首页中间时的模板

  5. <!--{else}-->

  6.  模块显示在首页左右两侧时的模板

  7. <!--{/if}-->
复制代码

viewpro.htm 为 Space 为Space的个人信息页模板,viewpro_classic.htm 为老版个人信息页模板,当 Mini-Space关闭、用户被禁或者拥有X-Space个人空间后的模板。

二、Mini-Space 的风格文件结构

Mini-Space 的所有风格均放置在 mspace 目录下,一个子目录一个风格,站长要添加风格的话,只需要将风格目录复制或上传到 mspace 目录下即可。

每个风格目录中文件的含义如下:

            
style.ini
风格的识别文件
当目录中包含此文件的时候才被论坛识别为一个合法的风格目录,此文件的内容有三行文字,每行的含义为:

 1: 风格名称
 2: 风格版权
 3: 风格版本

如:

QUOTE:
默认风格
Discuz!
1.0


style.css
风格的样式表
此文件为风格的 CSS 样式表文件,风格以及模块的样式定义均在此文件中,此文件中模块含义的 CSS 定义如下:

 用户信息模块   #module_userinfo        
 主题模块     #module_threads    
 回复模块     #module_replies     
 文集模块     #module_blogs
 文集主题     #module_topic
 文集评论     #module_topiccomment
 文集发表评论   #module_postcomment
 发表文集模块   #module_postblog
 最热文集模块   #module_hotblog
 悬赏模块     #module_rewards
 交易模块     #module_trades
 好友模块     #module_friends
 收藏的论坛模块  #module_favforums
 收藏的主题模块  #module_favthreads
图片文件风格所用到的图片文件

三、模块拓展

模块的拓展主要修改 include/space.func.php 和风格的 space_module.htm 文件。

include/space.func.php

打开此文件,开头我们首先会看到如下2个数组
  1. $modulesettings = array(
  2. 'userinfo' => array('1', 0, 1),
  3. 'calendar' => array('1', 0),
  4. 'myblogs' => array('', 1),
  5. 'mythreads' => array('', 1),
  6. 'myreplies' => array('', 1),
  7. 'myrewards' => array('', 1),
  8. 'mytrades' => array('', 1),
  9. 'myfriends' => array('1', 2),
  10. 'myfavforums' => array('1', 2),
  11. 'myfavthreads' => array('1', 2)
  12. );
复制代码
  1. $listmodule = array(
  2. 'myblogs' => 1,
  3. 'mythreads' => 2,
  4. 'myreplies' => 3,
  5. 'myrewards' => 4,
  6. 'mytrades' => 5,
  7. 'myfavforums' => 6,
  8. 'myfavthreads' => 7
  9. );
复制代码
$modulesettings 为 Space 模块的声明数组,所有的标准模块均在此处声明,含义为:

'模块标识名' => array('不允许出现的位置', 默认位置, 隐藏更多链接)

位置中数字0代表左侧、1代表中间、2代表右侧,不允许出现的位置如果不允许出现在2个位置,用逗号分割

$listmodule 为包含列表内容模块的声明数组,所有的包含列表内容的模块在此处声明,含义为:

'模块标识名' => 菜单顺序

当您需要添加一个新的模块时,您需要在 $modulesettings 数组中添加他的模块标识,如
  1. 'mytest' => array('', 0,1)
复制代码
表示此模块允许出现在所有位置,默认位置为左侧,且模块头不显示更多的链接

然后在 space_module.htm 中添加名为 mytest 的函数即子模板

要为此模块命名,可以修改 spaces.lang.php 文件

添加语言包项
  1. 'mytest' => '测试模块'
复制代码
最后设置一个$spacelimitmytest 的变量让他值为 1,就算开启了
此变量可以通过添加后台的基本设置中添加一个设置项,也可以固定的写在程序中。

对Mini-Space感兴趣的可以加入QQ群: 12893286

[ 本帖最后由 monkeye 于 2007-3-23 14:42 编辑 ]

评分

1

查看全部评分

发表于 2007-3-11 12:17:43 | 显示全部楼层
沙发支持!!:)
回复

使用道具 举报

发表于 2007-3-11 19:57:19 | 显示全部楼层
我顶你个肺  :)
回复

使用道具 举报

发表于 2007-3-11 19:59:39 | 显示全部楼层
板凳!!我喜欢!支持!
回复

使用道具 举报

发表于 2007-3-11 20:07:38 | 显示全部楼层
```收藏了先!!!!
回复

使用道具 举报

发表于 2007-3-11 21:20:19 | 显示全部楼层
支持一下 ,这是个好东西,有帮助
回复

使用道具 举报

发表于 2007-3-11 21:47:31 | 显示全部楼层
哇,在这个地方隐藏啊
回复

使用道具 举报

发表于 2007-3-12 00:40:22 | 显示全部楼层
收藏。。。。。。。。。。。。
回复

使用道具 举报

发表于 2007-3-12 08:10:28 | 显示全部楼层
我顶你个肺
回复

使用道具 举报

发表于 2007-3-12 10:59:12 | 显示全部楼层
支持再顶一下!!
回复

使用道具 举报

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

本版积分规则

腾讯云市场 一站式企业服务 爆款建站、小程序等1元起

QQ|小黑屋|Discuz! 官方站 ( 粤B2-20090059-165 )star

GMT+8, 2019-12-8 02:38

Powered by Discuz! X3.3

Copyright © 2001-2019 Tencent Cloud.

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