您的位置:首页 > 其它

Discuz! 7.0 模块调用脚本范例程序 - 模板

2009-01-01 18:35 609 查看
<?php

/*

Discuz! 7.0 模块调用脚本范例程序 - 模板

*/

if(!defined('IN_DISCUZ')) {

exit('Access Denied');

}

if($requestrun) {

/*

模块脚本运行代码

脚本中的设置参数在数组 $settings 中

脚本中不能有输出语句,所有输出结果赋值给变量 $writedata

脚本输出结果自动缓存,缓存时间根据数据调用模块设置而定,如不缓存,可令 $nocache = 1

*/

/**

* 用于存储模板中替换标记数组

* 在Discuz!中,所有的变量在使用前都应该设置初始值

*/

$search = array();

/**

* 用于存储模板中替换内容数组

* 在Discuz!中,所有的变量在使用前都应该设置初始值

*/

$replace = array();

/**

* 替换标记{title}

*/

$search[] = '{title}';

/**

* 对应于替换标记{title}的替换内容

* $settings['title']的值是$request_settings['title']声明的参数的值

* 使用strval函数强制转换成字符串

* 使用stripslashes函数获取用户提交的字符串

* 使用htmlspecialchars函数对HTML标记转义

*/

$replace[] = htmlspecialchars(stripslashes(strval($settings['title'])));

/**

* 替换标记{content}

*/

$search[] = '{content}';

/**

* 对应于替换标记{content}的替换内容

* $settings['content']的值是$request_settings['content']声明的参数的值

* 使用strval函数强制转换成字符串

* 使用stripslashes函数获取用户提交的字符串

*/

$replace[] = stripslashes(strval($settings['content']));

/**

* 调用str_replace函数将模板中的替换标记替换成相对应的内容

* $settings['template']的值是$request_settings['template']声明的参数的值

* 使用strval函数强制转换成字符串

* 使用stripslashes函数获取用户提交的字符串

*/

$writedata = str_replace($search, $replace, stripslashes(strval($settings['template'])));

} else {

/*

模块脚本设置参数



版本 $request_version

名称 $request_name

描述 $request_description

版权 $request_copyright

参数 $request_settings

变量名 => array(变量含义, 备注说明, 类型, 选项数组, 默认值)

类型:

text 单行文本

textarea 多行文本

radio 单选(是/否)

mradio 自定义单选

mcheckbox 多选

select 单选下拉

mselect 多选下拉

*/

$request_version = '1.0';

$request_name = '模块调用脚本范例';

$request_description = '模板,您可以参照本脚本 ./include/request/'.basename(__FILE__).' 中的说明编写模块脚本';

$request_copyright = '©';

/**

* <div class="extcredits">是Discuz!中模板中插入标记的样式

* <a>是每个插入标记的HTML标记

* 每个代表插入标记的<a>标记都包含onclick事件

* onclick事件中调用Discuz!中定义的insertunit脚本函数

* insertunit脚本函数的第一个参数是插入的内容,通常和<a>标记的内容相同

* insertunit脚本函数的第二个参数是插入的位置,应当是parameter[settings][],在第二个方括号中输入变量名

*/

$request_settings['template'] = array('模板', <<<DESCRIPTION

<div class="extcredits">

<a href="###" onclick="insertunit('{title}', 'parameter[settings][template]')">{title}</a>代表 标题

<a href="###" onclick="insertunit('{content}', 'parameter[settings][template]')">{content}</a>代表 正文

</div>

DESCRIPTION

, 'textarea', array(), '<fieldset><legend>{title}</legend>{content}</fieldset>');

}

$request_settings['title'] = array('标题', '替换模板中的{title}标记,不支持HTML标记。', 'text', array(), '标题');

$request_settings['content'] = array('正文', '替换模板中的{content}标记,可以使用HTML标记。', 'textarea', array(), '<p>正文</p>');

?>

[Discuz! - 官方网站]

http://www.discuz.net/

[Discuz! - 常见问题]

Discuz! 6.1 从GBK编码转为UTF-8编码
Discuz! 6.1 多语言翻译工作范围
Discuz! 6.1 兼容问题
Discuz! 6.1 发送HTML格式电子邮件
Discuz! 6.1~7.0 安装SupeSite后导致安全漏洞
Discuz! 6.1 不修改模板在贴子上增加收藏按钮
Discuz! 6.1 cpmsg函数在IE下和Firefox下表现不一致
Discuz! 6.1~7.0 升级后request缓存文件名不兼容
Discuz! 6.1~7.0升级后request路径不兼容以及相应修改方案
Discuz! 7.0 模块脚本文件名
模块调用脚本范例程序 - 模板
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: