跳转到主要内容
东方龙马 提交于 31 July 2012

一个项目中,有这样的需求,怎么说呢,类似于相册吧,就是,两个内容类型,一个是相册,一个是图片,相册中包含若干图片,在发布的时候,新添加一个图片类型的节点的时候,选择到适当的相册,然后在相册页面就能看到这张图片,功能需求是这样的。

查了一些资料以及群里的朋友推荐,我看了看EVA这个模块,真心觉得不错,推荐给Drupal7使用者~

EVA,全称是 Entity Views Attachment,顾名思义,这个模块的作用就是将Views和Entity连接起来,起到一个连接器的作用,那么在drupal中实际作用是怎样的呢?我们来看看实例:

先启用这个模块(这句是废话...),假设我们已经有了两个内容类型,一个是相册,一个是图片。

在图片的类型中,增加一个Node reference类型的字段,用来决定图片属于哪个相册

启用之后,我们主要的工作就是建立一个view,将要显示在相册中的图片调用出来,同时也方便修改显示样式。这时候,EVA的作用就体现出来了,在views的设置中,有EVA相关的参数设置,即 ENTITY CONTENT SETTINGS 这部分,设置如图:

这里,解释一下我的设置

Entity type :因为我的相册也是一个node,所以这里选择了node类型

Bundles :Node中有好多类型,要指定这里要连接的是相册类型的node,所以选了相册类型

Argument :参数,这里设置为id,也就是在相册页面,相册的id作为这个view的传入参数,来进行这个view的调用,这里特别说明一下,view中还要设置一下过滤,来决定调用的是哪些图片节点:

这样,就将这个view和相册类型的节点进行了连接,在添加了内容之后,相册页面中就会出现下属的图片:

总之,这个模块可以连接views和entity,在drupal7中使类似的效果实现起来更方便了~

有兴趣的朋友可以试着使用该模块的其他功能,欢迎共同讨论提高~

原文来源:来自幽灵古堡

http://www.i-felix.cn/blog/drupal7xia-de-ge-huan-bu-cuo-de-module-eva