下面,我以一个简单的《记账本》插件,来教大家,如何在目前 UCenter Home 中,制作一个标准的、不受 UCHome 版本升级影响的通用插件。
当然,以下的部分说明我尽量简单扼要,但是对于不懂PHP的人来说,可能还是一头雾水,毕竟制作插件,需要你有一定PHP基础。在这里,顺便鼓励大家抓紧学习一下 PHP。
制作一个不受 UCHome 版本影响的插件,请遵循以下规范:
1) 不修改 UCHome 的模板,而使用自己的模板(左侧导航菜单除外);
2) 不修改 UCHome 的 PHP 文件,而使用自己的 PHP 文件;
3) 不修改 UCHome 的数据表结构,而使用自己的 数据表。
如何编写《记账本》?
第一步,创建文件,
给自己的插件命名一个 PHP 文件、一个对应的模板文件。
我们命名《记账本》的PHP文件为:money.php 文件,并存放到 UCHome 的程序根目录。
我们命名模板文件为:money.htm 文件,并存放到 UCHome 的模板目录 ./template/default/ 下面。
并为自己的插件创建数据表。
在这里,《记账本》的数据表的创建SQL为:
第二步,编程 money.php
编写插件中,经常用到的基本变量、函数含义列表如下:
$_SGLOBAL['supe_uid'] 该变量为当前用户的UID
$_SGLOBAL['supe_username'] 该变量为当前用户的名字
$_SGLOBAL['db'] 数据库操作对象
showmessage(message, url) 该函数为显示跳转信息: message 为信息, url 为跳转url
ckstart(start, perpage) 检查输入的start是否合法:start 为开始数,perpage为每页显示数
smulti(start, perpage, count, url) 获取分页的函数:start 为开始数,perpage为每页显示数,count为当前列表数,url为页面url
$space = getspace(uid) 该函数为获取当前用户的空间信息:uid为用户uid
其中获取到的$space,常用的有以下几个:
$space['uid'] 用户UID
$space['username'] 用户名
$space['frienduid'] 用户的好友UID列表,以逗号分割。例如:1,5,6,7
添加个人动态的方法:
include_once(S_ROOT.'./source/function_cp.php');
$icon = 'money'; //个人动态前面的图标英文名,随意命名,需要修改css支持
$title_template = '{actor} 更新了自己的 <a href="money.php">记账本</a>'; //标题内容,支持html,其中 {actor} 为内置变量,表示当前人名
feed_add($icon, $title_template);
PHP文件基本的代码结构为:第三步,编写模板 money.html
模板的语法,跟Discuz!模板机制一样,模板文件的基本结构为:
第四步,需要在UCH的左侧栏增加导航菜单
打开 ./template/default/header.htm 文件,找到:
<li><a href="space.php?do=share">分享</a></li>
在后面添加
<li><a href="money.php">插件名</a></li>
即可。
现在,一个插件从编写、到使用,就完成了。
附件为该记事本插件的全部源代码,供参考。
-------------------------------
如何安装使用《记账本》?
站长也可以下载附件中的文件,直接安装到自己的站点上面,就可以使用《记账本》这个插件了。
安装第一步:
需要自己使用phpmyadmin等工具,手工建立本插件的数据表 uch_plug_money。运行SQL为:
安装第二步:
将压缩包中./upload/目录中的文件 ./money.php 和 ./template/default/money.htm 上传到对应的目录中。
安装第三步:
修改 UCenter Home 模板:
打开 ./template/default/header.htm 文件,找到:
<li><a href="space.php?do=share">分享</a></li>
在后面添加
<li><a href="money.php">记账本</a></li>
在管理员后台,更新全部模板缓存,就可以使用《记账本》了。
祝你学习、安装愉快!
uch_plug_money.zip(3.76 KB)