`
hudeyong926
  • 浏览: 2032767 次
  • 来自: 武汉
社区版块
存档分类
最新评论

Discuz 插件开发

    博客分类:
  • PHP
 
阅读更多

首先开启开发者模式,在config\config_global.php 最下面添加

$_config['plugindeveloper'] = 2;

刷新后台应用即可.这时在前台论坛页就出现好多类似string global_usernav_extra的东西这就是锚点,也是插件可以利用的点,描点分全局嵌入点和脚本嵌入点,脚本嵌入点写到全局嵌入点类无效

设置完成后.工具->清理缓存

 

后台 ->应用 ->设计新插件

 

 

插件模块开发

<?php
/**
 *  plugin_  普通版脚本中的类名以 plugin_ 开头。手机版脚本中的类名以 mobileplugin_ 开头。
 *  identifier 插件的唯一标识符,在插件设置中设置。
 *  CURSCRIPT 嵌入点位于的脚本名,如 forum.php 为 forum。
 */
if(!defined('IN_DISCUZ')) {
    exit('Access Denied');
}

//全局嵌入点类(必须存在)
class plugin_identifier {
}

//脚本嵌入点类
class plugin_identifier_CURSCRIPT extends plugin_identifier {
}


 

在source/plugin下新建一个文件夹,文件夹的名称要和所要创建的插件的标识符(test)相同。

 

然后在创建的文件夹下面创建您需要的文件。如下图 我在模块里面定义了  页面嵌入的 test1类文件,则需要在插件文件夹中新建一个test1.class.php的文件,下面是需要注意的东西:test1.class.php中 文件的上部分 是discuz的引入部分,而下面的类名必须要和插件的名称一致

之后在类中书写function函数。这里需要注意的是:只有function的的名称与 外面相应位置显示的名称一致的时候 才会在相应页面中的相应位置中运行。在每次新增加或者修改文件 则尽量刷新下缓存文件

到此插件已经开发完成,现在需要启用插件(如果在设计插件时已开启可以忽略)

 

在前台的相应页面刷新后 就会出现我们刚才做的简单的示例。

 

这里需要注意的是,如果需要在指定位置进行运算的话,进行页面输出的时候尽量不要使用echo 或者var_dump进行输出,因为这样会输出到最顶部,也就是网页的外围部分上。而使用return则会在指定的地方进行输出。值得注意的是,在编写插件的时候,如果确实要输出的话,先按照1步骤后,看下前台所需的页面上有没有。到此,简单的discuz的插件就开发完毕了。

点击导出按钮后导出文件XML文件放在当前插件文件夹的根目录下,直接打包插件目录为rar格式直接的发布给别人就可以正常的使用了。

 

让插件有安装和反安装能力

在导出的XML中加入

	<item id="installfile"><![CDATA[install.php]]></item>
	<item id="uninstallfile"><![CDATA[uninstall.php]]></item>
</item>

上述代码分别表示:安装|卸载插件时会运行的文件,在插件目录下添加install.php和uninstall.php

<?php
if(!defined('IN_DISCUZ')) {
	exit('Access Denied');
}

//各种安装操作
$sql = <<<EOF
DROP TABLE IF EXISTS CDB_TABLE_SETTING;
CREATE TABLE CDB_TABLE_SETTING(
  `key` varchar(20) not null primary key,
  `value` text
) ENGINE=MYISAM DEFAULT CHARSET=DCHARSET;
EOF;
runquery($sql);   //或DB::query($sql);

$finish = TRUE;
?>

 

 
 
  • 大小: 63.8 KB
  • 大小: 62.3 KB
  • 大小: 123.3 KB
  • 大小: 94.6 KB
  • 大小: 32.5 KB
  • 大小: 17.7 KB
分享到:
评论

相关推荐

    discuz插件开发实例

    discuz插件开发实例 Discuz插件开发实例是指在Discuz开放源代码论坛中开发插件的实践指南。该指南旨在指导开发者如何设计、开发和维护Discuz插件,提高插件的可读性、可维护性和可扩展性。 插件设计规范 在设计...

    DISCUZ插件开发新手入门

    ### DISCUZ插件开发新手入门详析 #### 引言 DISCUZ!作为一款广泛使用的论坛系统,其插件开发能力对于扩展系统功能、满足个性化需求具有重要意义。本文旨在为初学者提供一份详尽的DISCUZ插件开发指南,通过分析标题...

    Discuz插件开发

    【Discuz插件开发】是针对Discuz这款知名的社区论坛软件进行功能扩展的一种技术实践。Discuz是一款基于PHP和MySQL数据库的开源社区建站系统,它允许开发者通过编写插件来增加论坛的功能或改变界面布局。 在【描述】...

    discuz插件开发实例详解

    插件开发是针对论坛功能扩展的一种方式,尤其在论坛向社区化转型的过程中,个性化需求变得越来越重要。由于Discuz! 标准程序无法满足所有站点的特定需求,插件便成为了填补这一空白的关键。开发插件有两种主要方式...

    dz插件开发 discuz

    《DZ插件开发:深入理解Discuz框架》 Discuz! 是一款广泛使用的开源社区论坛软件,其强大的功能和灵活的扩展性深受开发者...掌握这些知识,将使开发者能够更高效地开发出符合需求的Discuz插件,丰富和拓展论坛的功能。

    discuz论坛短信插件_discuz短信接口开发_discuz短信发送设置

    本文将深入探讨"Discuz论坛短信插件"、"Discuz短信接口开发"以及"Discuz短信发送设置"这三个关键知识点。 首先,让我们了解一下"Discuz论坛短信插件"。这个插件是Discuz! 论坛的一种扩展,它允许管理员集成第三方...

    Discuz插件制作教程

    ### Discuz插件制作教程知识点详解 #### 一、Discuz插件机制概览 ...以上内容涵盖了Discuz插件机制的基础知识、插件设计的流程以及相关的技术细节,有助于开发者更好地理解和掌握Discuz插件开发的相关知识。

    Discuz!插件开发标准化手册

    第一章 插件代码书写规范 第二章 插件代码安全规范 第三章 常用变量说明 第四章 常用文件说明 第五章 插件开发一般流程

    DISCUZ边框登陆窗口插件!

    "所涉及的知识点主要围绕着Discuz论坛系统以及插件开发和应用。Discuz是一款广泛使用的开源社区论坛软件,它允许用户构建自己的在线社区,提供...同时,对于开发者来说,它也是一个学习和实践Discuz插件开发的实例。

    PHP实例开发源码—Discuz插件Myiframe.zip

    在Discuz插件开发中,常见的文件包括: 1. 插件主文件(plugin.php):定义插件的基本信息,如名称、作者、版本等,并注册插件的各种操作。 2. 配置文件(config.php):存储插件的配置选项,用户可以在后台进行设置...

    PHP实例开发源码-Discuz插件Myiframe.zip

    在Discuz插件开发中,可能需要创建数据库表,执行查询,更新或插入数据,因此熟悉SQL语言是必要的。 6. **安全性**:在处理用户输入和连接外部资源时,要确保代码的安全性。需要防止SQL注入、XSS跨站脚本攻击,并...

    discuz 论坛插件开发规范

    discuz论坛插件开发规范,仅供学习交流之用。资料来源网上。更多请访问,discuz官方论坛。

    贴图库discuz插件(免费图片外链) v1.1.0.rar

    3、因discuz插件开发限制,本插件只能在高级模式下上传,快速发帖和快速回复不可以(正在寻找解决办法); 4、因开发时间制约,暂时只做了论坛模块,门户、相册、**志等视站长的需求以后开发。。。 5、安装使用遇到...

    PHP实例开发源码—贴图库discuz插件(免费图片外链).zip

    这对于开发者来说是一个学习和研究PHP编程以及Discuz插件开发的好材料。 【标签】"PHP"提示我们这个项目是使用PHP语言编写的,PHP是一种广泛应用于Web开发的服务器端脚本语言,尤其适合处理动态内容和构建交互式...

    Discuz源码分析与插件开发实例进阶(高清PDF中文版)

    《Discuz源码分析与插件开发实例进阶》是一本非常实用的技术书籍,它不仅涵盖了Discuz!系统的基础知识,还深入探讨了插件开发的核心技术和实践技巧。对于希望深入了解Discuz!源码或者计划开发自己插件的开发者来说,...

    discuzx插件制作教程

    此教程中提到的步骤只是一个基础的指南,实际的插件开发可能涉及更复杂的逻辑和交互。开发者需要熟悉PHP编程语言,理解Discuz!X的架构和API,才能有效地创建出满足需求的插件。同时,为了确保插件的兼容性和稳定性,...

    PHP实例开发源码—Discuz网页版网站地图插件 php版.zip

    在深入研究这个插件之前,你需要确保拥有一个运行中的Discuz论坛环境,并了解基本的PHP编程和Discuz插件开发知识。如果你是PHP初学者,这个实例将是一个很好的实践机会,你可以从中学习到如何与数据库交互、如何处理...

    Discuz!X插件开发过程 入门必学

    X插件开发过程入门必学 在深入探讨Discuz!X插件开发的过程中,本篇文章将详细介绍从创建插件到实现各种功能的关键步骤。通过学习这些知识点,即使是初学者也能快速掌握Discuz!X插件开发的基础。 #### 一、启用插件...

    Discuz!源码分析与插件开发实例进阶(扫描版).part4.rar

    Discuz!源码分析与插件开发实例进阶(扫描版)第四部分

Global site tag (gtag.js) - Google Analytics