您的位置:首页 > 其它

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

2008-08-11 21:06 155 查看
七、在Discuz.Web项目中新建userpersoninfo.aspx页面,编写对应逻辑,完成会员修改自己个人信息的功能,以满足需求[2]的前2点。

1、在\aspx\1中建立userpersoninfo.aspx页,会产生对应的.cs文件。

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

CODE:
Code

if (DNTRequest.IsPost())

{

if (ForumUtils.IsCrossSitePost())

{

AddErrLine("您的请求来路不正确,无法提交。如果您安装了某种默认屏蔽来路信息的个人防火墙软件(如 Norton Internet Security),请设置其不要禁止来路信息后再试。");

return;

}

if (page_err == 0)

{

person.Lookfor = DNTRequest.GetInt("lookfor", 0);

person.Title = DNTRequest.GetString("title");

person.Intro = DNTRequest.GetString("intro");

person.Height = DNTRequest.GetString("height");

person.Stature = DNTRequest.GetString("stature");

person.Marriagestate = DNTRequest.GetString("marriagestate");

person.Industry = DNTRequest.GetString("industry");

person.Job = DNTRequest.GetString("job");

person.Constellation = DNTRequest.GetString("constellation");

person.Blood = DNTRequest.GetString("blood");

person.EduLevel = DNTRequest.GetString("eduLevel");

person.School = DNTRequest.GetString("school");

person.Earning = DNTRequest.GetString("earning");

person.Personality = DNTRequest.GetString("personality");

person.Describing = DNTRequest.GetString("describing");

person.Predominance = DNTRequest.GetString("predominance");

person.Fond = DNTRequest.GetString("fond");

PersonInfo.UpdateModel(person);

SetUrl("userpersoninfo.aspx");

SetMetaRefresh();

SetShowBackLink(true);

AddMsgLine("修改个人信息完毕");

}

}

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进行网站整合和重组都不是什么问题。

(全文完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: