大家可以测试一下,注册会员现在可以写博客了,可以交朋友了.除了这些新增的功能以外,最主要的一点,个人主页已经独立了出来.
如果你退出以后,不管你是浏览的哪个页面,重新登录后,都会导向到你的个人主页.最主要的,个人主页与其它页面使用了不同的页面模板,所有个人主页相关的文章都使用了同一个模版.当然也可以为个人主页设置完全不同的主题,将来还有可能为它设置一个子域名.这是后文了.
现在的个人主页比以前增强了许多,最主要的是它向SNS站点迈出了一大步.我们知道,大多数的SNS都是由个人主页,好友关系,小组等等组成的,在SNS站点中,个人主页是一个枢纽,占有重要的位置.
改造好了小组的主页以后,我就想如何改造用户的个人页面,这一点很重要,我希望个人主页能够像小组一样,能够具有独立的主题,个人的文章显示在这个主题下面.在这里,我就拿博客作了测试.
对小组的研究,使我认识到了上下文的重要性,在OG模块中,上下文具有极其的重要性,为了达到小组的独立性,我决定模仿OG模块为个人主页实现上下文,然后再通过上下文设置路径和主题.这样就可以根据上下文将个人主页独立开来了.
另外为了设置个人主页上的导航,我继续模仿小组的方式,但是这一次碰了壁,因为最终的解决方案是,必须修改user_uid_optional_to_arg函数,但是我发现这个函数不能够被覆写,也就是其它模块不能够修改这个函数中的设置,也就是说,我不能够在自己的模块中为这个函数添加上下文,我不知道有没有更好的办法,如果不能够覆写user_uid_optional_to_arg的话,那么我必须要直接修改这个函数,在这个函数中加入用户上下文的概念,而这个函数是位于user模块中的,Drupal的核心模块。直接修改它的代码,可以实现我的效果,但是需要打个补丁,将来升级起来比较麻烦。
后来经过权衡,决定自己定制一个区块,专门用于用户的个人页面的导航。当然,后者失去了一些灵活性。
个人页面导航实现后,开始改造好友的功能,我使用了relationship模块,最主要的是改造它提供的默认的Views,我把它提供的Views一个一个的比较了一下,选出了我需要的,同时作了修改,比如好友动态区块的实现。就是我基于原有的Views改造而成的。
最后,覆写了preprocess_page函数,为个人主页设置了独立的页面模板。
评论
^.^
谢谢你的分享,新手入门跑这来学习模块,我还不会编呢,只会使用和体验加测试
老葛,我使用群组不想用views呵呵。
老葛,我使用群组不想用views呵呵。
那就写代码吧,其实views很慢的,刚开始网站用它作演示还
那就写代码吧,其实views很慢的,刚开始网站用它作演示还是不错的.
老葛,我发现一个问题。就是博客模块的功能很基本,就是和普通
老葛,我发现一个问题。就是博客模块的功能很基本,就是和普通的发表个文章没区别。实际上产品级的博客上面,有日历,友情链接,评论等等很多小功能。但是这个在博客的模块中没有。是不是还有更高级的模块还是必须自己写呢?
恩,就是基本的功能,友情.链接可以自己写模块
恩,就是基本的功能,友情.链接可以自己写模块,日历也有对应的模块,不过没有用过.
记录时间的,日期安排有一个现成的模块,我忘了,小组中的事件都用那个,日程安排.
其实所有的模块,只要能够用于Drupal
其实所有的模块,只要能够用于Drupal,就可以应用于小组,也可以应用个人主页,所需要的改动就是加上个上下文作为限制.比如说个人,就是加个过滤条件.不过有些地方需要稍微的改动一下.
ok.明白了。我再试试。呵呵
ok.明白了。我再试试。呵呵