DNT2.0交友信息插件制作全攻略(二)

七、在Discuz.Web项目中新建userpersoninfo.aspx页面,编写对应逻辑,完成会员修改自己个人信息的功能,以满足需求[2]的前2点。
1、在\aspx\1中建立userpersoninfo.aspx页,会产生对应的.cs文件。

2、在userpersoninfo.aspx.cs文件中添加呈现逻辑,具体代码看附件。注意这时候没必要在userpersoninfo.aspx页中写什么,因为那是会被模板生成后替换掉的东西。

CODE:
Code



3、在\templates\default中复制一个usercpprofile.htm,改名为userpersoninfo.htm,在其基础上修改为我们需要的表现,如“编辑个人信息”图中所示。注意把呈现逻辑也一并写在.htm中,具体规则参考“DISCUZ!NT 2.0 模板说明文档.CHM”。
下面段代码是用于呈现大量的勾选框,是这张模板页制作的难点。

CODE:
 
Code


4、在userpersoninfo.aspx.cs文件中添加更新personinfo的逻辑,具体代码看附件。
CODE:
 
Code


5、编译Discuz.Web项目,在后台生成userpersoninfo.htm模板,此时“编辑个人信息”页面基本完成,可以实现功能满足要求了。

 
八、以上功能基本都完成了,但在“编辑个人信息”页面并不能进去,因为没有对应的菜单。下面修改菜单模板,增加菜单和对应的一些逻辑。
1、修改_permenu.htm,增加“编辑个人信息”链接。

2、修改_menu.htm,增加“编辑个人信息”链接。

3、菜单想怎么摆就怎么摆吧,这块就比较简单了。生成模板,这时整个交友插件就修改制作完成了。

九、总结
1、这种修改方式有个弊端,就是必须要源代码,而且要修改模板,难度较大。

2、好处是和源文件结合的很紧密,前台表现非常好,与论坛天衣无缝的整合在一起,没什么破绽,是符合官方的开发思路的。

3、部分模板被修改了,如果要换皮肤,需要每次将修改的5张模板进行覆盖。

4、有新的2个DLL要替换:Discuz.Web.dll、Discuz.Plugin.Friend.dll。

5、用这种方式可以对DNT2.0的会员信息进行大幅度的扩展,对于网站整合来说,可以以DNT2.0的会员为核心,在其上添加更多的业务功能,或者与网站的业务流程进行交叉,灵活性非常大。我想能使用这种方式对DNT2.0进行修改的人,用DNT2.0进行网站整合和重组都不是什么问题。

(全文完)
posted @ 2008-08-11 21:06  肖坤  阅读(436)  评论(0编辑  收藏  举报