一、创建插件基础文件
在Discuz插件目录source/plugin/下新建插件文件夹(如textarea_plugin),需包含三个核心文件:
textarea_plugin.inc.php - 主入口文件
module/config.php - 配置处理模块
template/config.htm - 模板文件
4
二、主入口文件配置
php
Copy Code
<?php
if(!defined('IN_DISCUZ')) exit('Access Denied');
$mod = isset($_GET['mod']) ? $_GET['mod'] : 'config';
require_once DISCUZ_ROOT.'./source/plugin/textarea_plugin/module/'.$mod.'.php';
?>
三、模块处理逻辑
在module/config.php中实现数据获取与处理:
php
Copy Code
<?php
$option = array(
'identifier' => 'custom_text',
'rowsize' => 5,
'colsize' => 40,
'required' => 1,
'type' => 'textarea',
'value' => '默认内容',
'maxlength' => 200,
'unchangeable' => ''
);
include template('textarea_plugin:config');
?>
四、模板文件实现
在template/config.htm中放置文本域代码:
html
Copy Code
<form method="post">
<textarea name="typeoption[{$option[identifier]}]"
id="typeoption_{$option[identifier]}"
rows="{$option[rowsize]}"
cols="{$option[colsize]}"
onBlur="checkoption('{$option[identifier]}', '{$option[required]}', '{$option[type]}', 0, 0{if $option[maxlength]}, '{$option[maxlength]}'{/if})"
{$option[unchangeable]}
class="pt">{$option[value]}</textarea>
<input type="submit" value="提交">
</form>
五、前端调用方式
直接URL访问:
text
Copy Code
plugin.php?id=textarea_plugin&mod=config
模板嵌入调用:
在任意模板文件中添加:
html
Copy Code
<!--{eval include template('textarea_plugin:config')}-->
六、验证函数集成
需在template/common/header.htm中添加JS验证函数:
javascript
Copy Code
function checkoption(id, required, type, min, max, maxlength) {
// 验证逻辑实现
console.log('验证字段:', id);
}
参考 |