Hi 您目前尚未登陆
请选择 进入手机版 | 继续访问电脑版

Admin

送给“上官雨伦”:做教师的人自己便当具有良好的教养,随人、随时、随地,都有适当的举止与礼貌。受过教育而无教养的人是一堆一文不值的垃圾。
演示站完全是自己仿的!所有帖子是胡乱发的,大家请无视!插件和模板都下载自垃圾的,没偷没抢!!!

Discuz!X 插件制作教程 heatlevel

2020-04-30 15:09:12 发布

Discuz /[教程] 65 0 0

adminWriter

来自中国,不是教师

47

主题

48

帖子

48

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
48
发表于 2020-4-30 15:09:12 | 显示全部楼层 |阅读模式
首先声明。该教程为2010年本人写的一篇关于插件制作的教程。该教程仅为简单的利用discuz插件机制来实现一个静态页面的插件。discuz插件机制不会根据版本而发生质变。所以该教程在后期版本中仍可实现。只不过需注意展示方式(css)是否发生变化,如有略微变化仅需要对样式进行调整即可。



接下来.我们就已 "扩展中心"插件为例 制作一个简易,却很实用的论坛扩展插件.

首先.打开论坛后台: 插件 -> 插件 -> 设计新插件
220933n0ss4n2ss717gfgv.png

注:唯一标识符提交后.将不能在此修改.提交后,会切换到插件的设置页面.如果不涉及到其他编码.可以不选用"插件语言包"


接下来.我们就可以开始添加插件的模块文件了.
打开程序目录:/source/plugin/   建立新文件包 dst_Expand (这里的文件包名要与唯一标识符一致)

第一步.我们先做一个admincp.inc.php  
   在/source/plugin/唯一标识符/下 新建一个文件 admincp.inc.php
因为扩展中心不需要后台设置 所以该文件不需要编写内容  只需复制一下内容即可

  1. if(!defined('IN_DISCUZ')) {
  2.         exit('Access Denied');
  3. }

  4. ?>
复制代码

文件写好后.返回后台的模块设置.按下图样式填写:
221251vftjnywgyy8bjjjg.png


写好之后点击提交.返回到插件列表页.点击开启.后台部分便完成了.

之后开始编写其他模块文件
返回 设计 -> 模块  按下图添加新模块
221449g0onze0zw28jen0f.png


添加完毕后 界面 -> 导航栏 -> 选择"扩展" 可用  
在/source/plugin/唯一标识符/下 新建一个文件 Expand.inc.php
在里面编写
  1. /**
  2. *      [New.DST] (C)2010-2011 New PHP Support Forum
  3. *      This is NOT a freeware, use is subject to license terms
  4. *
  5. *      $Id: Expand.inc.php 2010-07-31Z [DST]ZannYount $
  6. */

  7. if(!defined('IN_DISCUZ')) {
  8.         exit('Access Denied');
  9. }
  10.         include template("dst_Expand:Expand");

  11. ?>
复制代码

其中
     
  1.   include template("dst_Expand:Expand");
复制代码

template:表示dst_Expand插件文件包目录下的模板文件
dst_Expand:表示该插件的唯一标识符
Expand:表示template下的模板文件名


接下来 在dst_Expand插件文件包目录下新建新文件包 template
在 template 文件包下新建文件 Expand.htm

在 Expand.htm 文件里 编写
  1. {template common/header}

  2.         [url=index.php]$_G[setting][bbname][/url]  › 扩展中心

  3. 这里是内页所显示的内容
  4. {template common/footer}
复制代码

其中
  1. {template common/header}
复制代码


表示调用页头文件
  1. [url=index.php]$_G[setting][bbname][/url]  › 扩展中心
复制代码

表示:
222320iym6ly8hmh9h71cm.png
  1. {template common/footer}
复制代码

表示调用页底文件



这样, 一个内页就算完成了.

接下来,我们就根据上面的教程制作一个扩展中心的内页

template 文件包下的 Expand.htm
可以做任何的形式,只要你熟悉CSS和DIV

下面,贴出扩展中心的代码
把上面教程中 "这里是内页所显示的内容" 替换成
      


  1.         
  2.                
  3.                         
  4.                                 
  5.                                        
  6. [list]

  7. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_About_Us]关于我们[/url]

  8. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Team_News]团队动态[/url]

  9. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_License_Agreement]授权协议[/url]

  10. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Team_Rules]团队规章[/url]

  11. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Business_Support]商业支持[/url]

  12. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Partners]合作伙伴[/url]

  13. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Team_Concept]团队理念[/url]

  14. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Contact_us]联系我们[/url]

  15. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Site_Map]网站地图[/url]

  16. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Advertising]广告服务[/url]

  17. [*] [url=plugin.php?id=dst_Expand:Expand&to=Id_Site_Help]网站帮助[/url]

  18. [/list]



  19. {template dst_Expand:Id_Team_News}
  20. {template dst_Expand:Id_License_Agreement}
  21. {template dst_Expand:Id_Team_Rules}
  22. {template dst_Expand:Id_Business_Support}
  23. {template dst_Expand:Id_Partners}
  24. {template dst_Expand:Id_Team_Concept}
  25. {template dst_Expand:Id_Contact_us}
  26. {template dst_Expand:Id_Site_Map}
  27. {template dst_Expand:Id_Advertising}
  28. {template dst_Expand:Id_Site_Help}
  29. {template dst_Expand:Id_About_Us}

  30.                                        

  31.                                 

  32.                         

  33.                

  34.         



  35.                



复制代码

然后再写个CSS文件 Expand.css
  1. #ct {
  2. background:none !important;
  3. }
复制代码

这回去看看发生了什么吧

下面 我来详细的解剖一下上面的导航栏的写法

在上面的导航栏效果中:
  1. [url=plugin.php?id=dst_Expand:Expand&to=Id_About_Us]关于我们[/url]
复制代码

href="" 中的路径  表示的是各个分类的路径
关于我们 则表示的导航栏的文字
而下面
  1. {template dst_Expand:Id_Team_News}
复制代码

等等中的
{template dst_Expand:Id_Team_News}
表示的是 dst_Expand这个插件文件包下的template文件包下的Id_Team_News.htm 文件


  因为该插件下面要输写的内容过多.为了方便整理和修改.我们在这里采用了外调的方法.
也就是说 每一个导航栏 单独写成一个.htm的文件 然后再由Expand.htm 这个文件总的来调用.这样每一个分类下的内容就简洁多了
但是这里一定要注意几点:
一.文件的目录{template dst_Expand:Id_Team_News} 里的Id_Team_News.htm 文件要和Expand.htm为同一个目录.
二.中的ID 以及变量$_G['gp_to'] == '里的ID 一定要保持和文件名 也就是&to= 后面的一致 否则就会产生模板文件找不到的错误




最后.我们就可以在分类下,填写自己想要的内容了.
按照上面已经写好的Expand.htm   我们新建一个文件 Id_About_Us.htm  这个是"关于我们"的文件
新建好以后 我们在文件中任意输入任何文字内容

222905y2ir4yir4bi6bwb5.png
222859x3or8qeyrlskhoro.png

以上,我们就可以根据上述的教程,制作出一个简单的"扩展中心"插件了
当然,如果你可以熟练的运用CSS+Div 的话.还可以做出更精美的效果.[/td][/tr]

0 使用道具 举报

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

当前话题还没有评论,来做第一个评论的人吧 ♪(^∇^*)