这是我在2008年6月28日写的帖子,发在nt.discuz.net上的,现在转回来备份一下。原文地址:http://nt.discuz.net/showtopic-50906.html

说是做插件其实名不副实,其实是直接用DNT2.0的源代码进行改造,在用户信息部分添加一些需要的字段,技术含量不高,主要是介绍如何在别人系统中加入自己的东西,提供点思路。

 

源代码下载地址(792K)

交友插件主要功能是让会员填写更详细的个人信息和个性信息,并让其他人能够查看,通过这些信息,加深会员间的了解。

DNT2.0交友信息插件制作全攻略(一)一、需求:
1、允许注册1个字符长度的帐户

2、会员可以填写个人信息,可以修改自己的信息,可以查看别人的信息。

二、结果:
该插件通过修改源代码和模板,实现了与DNT2.0的无缝结合,外观表现和操作都非常自然。在用户中心添加了“编辑个人信息”页,允许用户自由修改资料;修改“查看用户信息”页,将会员资料展示在其中。

DNT2.0交友信息插件制作全攻略(一)三、修改前要准备和规划的:
a、得到DNT2.0源代码,并用vs2005打开解决方案sln。打开Discuz.Web项目中的\aspx\1目录,这里面是Discuz.ForumPage命名空间的逻辑层代码所在地,我们大部分页面逻辑要添加在里面。

b、打开\templates\default目录,这是原始模板的地址,页面表现需要对其中部分进行修改,并有新的模板文件要被创建。

c、规划一下,共要修改4个模板,新建1个模板;修改2个页面逻辑,新建1个页面逻辑;数据库要加1个表;采用单层来写这个表的对应DAL;使用XML实现数字字典来管理个人信息。

d、用管理后台将模板生成的页面会自动加上Inherits="Discuz.ForumPage.xxxxxx",就是说页面逻辑需要写在Discuz.Web项目中并进行编译才是最干净的做法,这样可以避免像“会员生日插件”那样需要在模板中添加命名空间的引用。


=============下面具体说明我是如何修改的===============

四、建立Discuz.Plugin.Friend插件项目,该项目主要功能是对Personinfo表进行增改查操作,对个人信息的勾选部分进行字典支持,是信息的底层。
1、建立数据库PersonInfo表,用于储存会员的个人信息,信息具体内容参考截图。

 
CODE:
 (
        [id] [int] IDENTITY (11NOT NULL ,
        
[uid] [int] NULL ,
        
[Lookfor] [int] NULL ,
        
[Title] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Intro] [nvarchar] (300) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Height] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Stature] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Marriagestate] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Industry] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Job] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Constellation] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Blood] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[EduLevel] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[School] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Earning] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Personality] [nvarchar] (1400) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Describing] [nvarchar] (1400) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Predominance] [nvarchar] (1400) COLLATE Chinese_PRC_CI_AS NULL ,
        
[Fond] [nvarchar] (1400) COLLATE Chinese_PRC_CI_AS NULL 
ON [PRIMARY]
GO


DNT2.0交友信息插件制作全攻略(一)2、编写数据库对象的操作类,利用SqlHelper:

相关文章:

  • 2021-10-24
  • 2021-10-24
  • 2021-09-19
  • 2021-12-09
  • 2022-02-04
  • 2022-03-07
猜你喜欢
  • 2021-11-16
  • 2021-12-10
  • 2021-12-09
  • 2022-02-07
相关资源
相似解决方案