跳转到主要内容
yplam 提交于 4 July 2014

有时候,我们需要把关于某一个话题的内容聚合在一起,方便用户关联阅读。首先想到的可能是Tag功能,为文章添加Tag,然后在Tag页面上就可以将相关的文章以列表的形式显示出来;但如果你需要的不仅仅是一个列表页面,你可能想将一些站外资源、静态内容,甚至是微博评论框加到你的页面上来,那么你可能会考虑使用panel,views等模块。

Special Topic 模块正是为了应付这种需求而开发,其概念是使用panel来制作专题页面,提供一种机制将网站内容与该专题页面中的分区关联,然后在显示专题页面的时候,将相关分区的内容选择出来,然后通过不同的theme呈现出来,使页面整体显得内容丰富。

效果如demo所示:http://yplam.com/drupal

github: https://github.com/yplam/special_topic

drupal: https://www.drupal.org/sandbox/yplam/2292187

drupalxue_xi_zhuan_ti_-_yplam_2014-07-04_13-48-42.png

 

实现方式:

模块实现一个类似panel node的功能,通过panel来定制展现专题内容;同时实现一个类似entity reference的功能,将node绑定到专题的某个位置,然后提供相关的content_type插件,将专题内容勾选出来。

安装使用:

安装跟普通模块类似,本模块依赖于 ctools与panel。

安装后可以创建Special Topic内容,其中需要预定义专题中可能会用到的位置,还可以添加相关的内联样式,用来控制专题相关块的展现。

 0704144650.jpg

 

然后在其他content_type中可以选择专题字段,这样在创建内容时会提供一个选择专题与专题位置的选项。

04144903.jpg

 

为内容选择相关专题与其所属位置

145054.jpg

 

然后编辑专题的Special Topic Content,将相应的内容选择到您想用到的位置:

336.jpg

选择专题Content type,以及render type,其中render type是专题功能提供的插件,可以通过自己编写插件来实现更多的内容展现方式,如列表、图文、视频等(现在选项有点乱):

508.jpg

 

至此,专题页面制作完成。

以上只是一个个人使用的sandbox项目,欢迎各位有类似需求的朋友测试与提供相关意见,共同完善。

 

 

Drupal 版本