Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

用UCenter Home 的《记账本》插件制作过程教大家为UCH制作插件

[复制链接]
sup 发表于 2008-5-27 12:42:17 | 显示全部楼层 |阅读模式
下面,我以一个简单的《记账本》插件,来教大家,如何在目前UCenter Home 中,制作一个标准的、不受UCH版本升级影响的通用插件。
当然,以下的部分说明我尽量简单扼要,但是对于不懂PHP的人来说,可能还是一头雾水,毕竟制作插件,需要你有一定PHP基础。在这里,顺便鼓励大家抓紧学习
一下PHP。

制作一个不受UCH版本影响的插件,请遵循以下规范
1) 不修改 UCH 的模板,而使用自己的模板(左侧导航菜单除外)
2) 不修改 UCH 的PHP文件,而使用自己的 PHP文件
3) 不修改 UCH 的数据表结构,而使用自己的 数据表

如何编写《记账本》?

第一步,创建文件

给自己的插件命名一个php文件、一个对应的模板文件。
我们命名《记账本》的PHP文件为:money.php 文件,并存放到 UCH 的程序根目录。
我们命名模板文件为:money.htm 文件,并存放到 UCH 的模板目录 ./template/default/ 下面。
并为自己的插件创建数据表。
在这里,《记账本》的数据表的创建SQL为:
CREATE TABLE uch_plug_money (
  uid mediumint(8) unsigned NOT NULL,
  username varchar(15) NOT NULL,
  content mediumtext NOT NULL,
  money float NOT NULL,
  self tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (uid)
) TYPE=MyISAM;



第二步,编程 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文件基本的代码结构为:

  1. <?php

  2. include_once('./common.php');

  3. //------这里填写你自己的插件功能代码 开始------
  4. //------这里填写你自己的插件功能代码 结束------

  5. include template('money');

  6. ?>
复制代码
具体的 money.php 文件的内容,请参考附件中的文件。

第三步,编写模板 money.html

模板的语法,跟Discuz!模板机制一样:
模板文件的基本结构为:

  1. <!--{template header}-->
  2. <div class="c_header a_header">
  3.         <a href="space.php?uid=$space[uid]"><img src="<!--{avatar($space[uid],small)}-->" alt="$space[username]" class="avatar" /></a>
  4.         <h1>插件名称</h1>
  5.         <a href="space.php?uid=$space[uid]" class="spacelink">我的空间</a>
  6. </div>
  7. <div class="tabs_header">
  8.         <ul class="tabs">
  9.                 <li><a href="money.php?action=we">分类1</a></li>
  10.                 <li><a href="money.php?action=me">分类2</a></li>
  11.         </ul>
  12. </div>
  13. <div class="h_status">插件介绍</div>

  14. <div>
  15.         这里填写您自己的html代码
  16. </div>
  17. <div class="f_status s_clear">
  18.         <a href="javascript:;" id="a_top" title="TOP">TOP</a>
  19. </div>
  20. <!--{template footer}-->
复制代码
具体的 money.php 文件的内容,请参考附件中的文件。


第四步,需要在UCH的左侧栏增加导航菜单

打开 ./template/default/header.htm 文件,找到:
<li class="app-share"><a href="space.php?do=share">分享</a></li>
在后面添加
<li><a href="money.php">插件名</a></li>
即可。

现在,一个插件从编写、到使用,就完成了。

附件为该记事本插件的全部源代码,供参考。

-------------------------------

如何安装使用《记账本》?
站长也可以下载附件中的文件,直接安装到自己的站点上面,就可以使用《记账本》这个插件了。

安装第一步

需要自己使用phpmyadmin等工具,手工建立本插件的数据表 uch_plug_money。运行SQL为:

CREATE TABLE uch_plug_money (
  uid mediumint(8) unsigned NOT NULL,
  username varchar(15) NOT NULL,
  content mediumtext NOT NULL,
  money float NOT NULL,
  self tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (uid)
) TYPE=MyISAM;

安装第二步

将压缩包中./upload/目录中的文件 ./money.php 和 ./template/default/money.htm 上传到对应的目录中。

安装第三步

修改UCenter Home模板:

打开 ./template/default/header.htm 文件,找到:
<li class="app-share"><a href="space.php?do=share">分享</a></li>

在后面添加

<li><a href="money.php">记账本</a></li>

在管理员后台,更新全部模板缓存,就可以使用《记账本》了。

祝你学习、安装愉快!

[ 本帖最后由 茄子 于 2008-5-27 16:47 编辑 ]
cuyst 发表于 2008-5-27 12:43:42 | 显示全部楼层
借楼层一用:

如果安装后,使用中出现了乱码,请执行以下的SQL文:
DROP TABLE IF EXISTS uch_plug_money;
CREATE TABLE uch_plug_money (
  uid mediumint(8) unsigned NOT NULL,
  username varchar(15) NOT NULL,
  content mediumtext NOT NULL,
  money float NOT NULL,
  self tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (uid)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;



注意,把 CHARSET=gbk 中的gbk 改为你自己的数据库编码。比如utf8、big5、或者 latin1

[ 本帖最后由 sup 于 2008-5-27 13:50 编辑 ]
回复

使用道具 举报

уī覑塃凉° 发表于 2008-5-27 12:44:19 | 显示全部楼层
顶,老大终于出马了。
回复

使用道具 举报

nada_fans 发表于 2008-5-27 12:44:20 | 显示全部楼层
美化一下会更好额老大...

这个1.2拿着真的是食之无味额..

只有个SNS的噱头啊..

把邮件注册..学校 单位加上吧,.

这个太重要勒...

你说WOWO会发布....

那您是要我们等着..还是重复再做一次WOWO已经有的插件呢?正面回答一下我们吧..

[ 本帖最后由 nada_fans 于 2008-5-27 13:09 编辑 ]
回复

使用道具 举报

lundun 发表于 2008-5-27 12:44:50 | 显示全部楼层
我来看看
回复

使用道具 举报

уī覑塃凉° 发表于 2008-5-27 12:46:43 | 显示全部楼层
原帖由 nada_fans 于 2008-5-27 12:44 发表
老大...

这个1.2拿着真的是食之无味额..

只有个SNS的噱头啊..

把邮件注册..学校 单位加上吧,.

这个太重要勒...


尤其是邮箱注册。
回复

使用道具 举报

migrant2000 发表于 2008-5-27 12:49:37 | 显示全部楼层
sup老大三言两语就能搞个小功能出来,说明其它功能都不存在技术问题,并且时间上也是很快的,呵呵。。。比窝窝更窝窝的UCHome即将面世喽,哈哈!
PS:我现在只能用乐观的心态,对待这个悲观的现实
回复

使用道具 举报

10000qq 发表于 2008-5-27 12:50:51 | 显示全部楼层
回复

使用道具 举报

kongkang 发表于 2008-5-27 12:52:58 | 显示全部楼层
sup终于来救我们了
回复

使用道具 举报

chaosshi 发表于 2008-5-27 12:53:38 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 10:32 , Processed in 0.023255 second(s), 2 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表