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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

模块运用续:创建出来的模块,怎么调用里面的参数

[复制链接]
茄子 发表于 2007-9-6 15:49:21 | 显示全部楼层 |阅读模式
为了您更好的理解模块和页面的关系,您可以首先浏览下以下文档:

SupSite页面文件与模块关系说明
如何利用SupeSite创建模块的高级功能?
SS5.5/XS3.0默认模板各页面调用内容说明


如果您创建出了一个模块,官方提供的模块风格不适用您的站点,需要重新设计模块风格的时候,就面临一个问题,如何使用ss模块调用出来的内容。

下面我们以一个很简单的例子来简要演示下:

如下图,我们需要对下图的日志页面黄色部分进行改造



根据SupSite页面文件与模块关系说明,我们很清楚的知道,这个地方调用的是最新发布的18条日志。模板中显示的是最新日志的标题和作者。涉及的相关页面是:
templates/default/index.html.php

现在,我们为了了解新发布的帖子查看情况,我们需要为其增加一个参数:查看数。

那么应该怎么做呢?
我想,大多数站长可能不清楚查看数到底是用什么变量来显示的。我们这样操作:

首先,我们打开templates/default/index.html.php,定位黄色部门的模块代码:

见下图




图中黄色部门就是该段调用内容的模块代码
<!--最新发布的日志-->
  <!--{block name="spaceblog" parameter="order/i.dateline DESC/limit/0,18/showspacename/1/subjectlen/40/subjectdot/1/cachetime/14800/cachename/coolblog/tpl/data"}-->
  <div id="focus">
   <ul class="msgtitlelist">
    <!--{if !empty($_SBLOCK['coolblog'])}-->
     <!--{loop $_SBLOCK['coolblog'] $value}-->
     <li><cite><a href="#uid/$value[uid]#">$value[username]</a> </cite><a href="$valuehttp://localhost/d55gbk/xs3/imag ... se/space_noface.gif
            [subjectall] => ggg
            [typename] => 日志
            http://localhost/d55gbk/xs3/?uid ... iewspace-itemid-139



对照  数据库字典(在程序文件的根目录均有当前版本的数据库字典提供),我们可以看到spaceblog表中 字段[viewnum]表示的是查看数,这就是我们需要的。
接着,对于模块里面取出的数值,我们用$value[字段名]的方式进行调用
因此$value[viewnum]就是查看数了。

接下来我们需要的是如何修改模板文件了

  <!--最新发布的日志-->
  <!--{block name="spaceblog" parameter="order/i.dateline DESC/limit/0,18/showspacename/1/subjectlen/40/subjectdot/1/cachetime/14800/cachename/coolblog/tpl/data"}-->
  <div id="focus">
   <ul class="msgtitlelist">
    <!--{if !empty($_SBLOCK['coolblog'])}-->
     <!--{loop $_SBLOCK['coolblog'] $value}-->
    <li><cite><a href="#uid/$value[uid]#">$value[username]</a> </cite><a href="$value[url]" title="$value[subjectall]" target="_blank">$value[subject]</a></li>
     <!--{/loop}-->
    <!--{/if}-->
   </ul>
  </div>
</div>
</div>


我们在$value[subject]</a>后增加查看数,即$value[subject]</a>(热度:$value[viewnum])

保存。然后刷新看看。可以看到,我们要的效果已经出来了,每个标题后边显示了相应帖子的查看数信息,当然如果您需要修改得更漂亮些,还需要了解html知识。


触类旁通。



***********************************************************************************************************************
附录:

ss/xs模板语法和dz的模板语法一致,只要是运用到下面的几个语句:
a.<!--{ ... }-->
逻辑元素包围符,该符号用于包含条件和循环元素


1.条件判断
        <!--{if expr1}-->
                statement1
        <!--{elseif expr2}-->
                statement2
        <!--{else}-->
                statement3
        <!--{/if}-->




这是一个典型的条件模板,当条件 expr1 为真时,显示模板 statement1 内容,否则当 expr2 为真时,显示模板 statement2 内容,否则显示模板 statement3 的内容。如同其他语言中的条件控制一样,其中 <!--{elseif expr}--> 和 <!--{else} --> 是非必须的。



2.不带下标变量的数组循环

        <!--{loop $array $value}-->
                statement
        <!--{/loop}-->




相当于 PHP 的数组循环语句:

        foreach($array as $value) {
                statement
        }






3.带下标变量的数组循环
        <!--{loop $array $key $value}-->
                statement
        <!--{/loop}-->




相当于 PHP 的数组循环语句:

        foreach($array as $key => $value) {
                statement
        }




逻辑元素包围符在 { } 外面包含了 html 的注释符号 <!-- -->,除了为了和信息元素相区别外,也方便了使用 Dreamweaver 和 Frontpage 之类工具编辑模板的用户。因逻辑元素会被识别为 html 的注释而不被显示,对于绝大多数用户,逻辑元素中的内容是完全不需要修改的,甚至修改错一个字符就可能引起错误信息和整个系统无法运行。因此通常您在修改模板的时候,不要修改模板的逻辑信息,更不要将逻辑信息内部元素(如 <!--{else}--> 等)的前后位置作以修改,否则可能会导致错误。如果您的模板被不慎修改损坏,请立即用原标准默认模板覆盖,即可恢复。

对于高手而言,实际上外部的 <!-- --> 是可以省略不写的,可以用于某些元素在模板中的定位,但强烈建议普通用户不要轻易尝试。




b.{ ... }
信息元素包围符



1.{template name}
模板嵌入符,为了避免模板的冗长,可以使用本符号来将 name 模板的内容嵌入本模板中(实际上为引用)。


2.{eval statement}
运行 PHP 语句体 statement。推荐只在特别必须的时候才使用该结构,因为它会破坏模板的结构和可读性。如 {eval echo 'template!';} 实现的功能为 echo 'template';
aqxsj 发表于 2007-9-7 00:42:53 | 显示全部楼层
好东西,顶起来啊!!!!!!!!!!!!!!!!!!!!!!!!!!

大AD:www.ArtBa.cn


[ 本帖最后由 aqxsj 于 2007-9-7 00:44 编辑 ]
回复

使用道具 举报

eqmz 发表于 2007-9-7 00:57:31 | 显示全部楼层
回复

使用道具 举报

putao8 发表于 2007-9-8 21:26:21 | 显示全部楼层
找了很久好不容易才找到。
谢谢!
回复

使用道具 举报

it1988.com 发表于 2007-9-9 03:15:16 | 显示全部楼层
是呀,大力支持....
回复

使用道具 举报

fzlw007 发表于 2007-9-11 10:50:31 | 显示全部楼层
但是我照你的方法
为什么调用文件下载时 所在栏目没有显示
回复

使用道具 举报

fzlw007 发表于 2007-9-11 10:52:29 | 显示全部楼层
调用查看次数是可以
但是别的就不成 了
回复

使用道具 举报

pcload 发表于 2007-9-17 17:43:09 | 显示全部楼层
抢占第一页登录啊
回复

使用道具 举报

pc77maikongjian 发表于 2007-9-18 12:06:16 | 显示全部楼层
支持下,加精.
回复

使用道具 举报

cl000 发表于 2007-9-21 12:47:21 | 显示全部楼层
请教,如果在资讯的首页,站内最新资讯列表模块里,我只想调用某一分类或者精华为3的帖子怎么改代码阿??
初学者,请高手指点

[ 本帖最后由 cl000 于 2007-9-21 12:51 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 01:17 , Processed in 0.031781 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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