You are here 博客 / Eric Tou的博客 / Drupal:获取Content Type的所有Node
Drupal:获取Content Type的所有Node
在Drupal中,如果要获取某人所有的Blog Entry,可以通过地址 blog/[user id] ,但是如果要获得所有的Story,或者所有的Page,似乎没有直接的方法。
一般的答案,是使用 Views 这个万能的模块创建所需的数据视图,当然这需要一些前置条件,是否有其它的方式呢?
折衷的方法是可以创建一个Vocabulary,在下面创建一个专门的term,比如叫做Story,把所有的Story都加上这个term,然后通过 taxonomy/term/[term id] 访问。这个方法简单,但也很丑陋。
假设你有一个专门的Vocabulary用于Story,例如“文章分类”,那是否可以通过取得这个Vocabulary下的所有node的方法来获取所有的Story呢?需要通过一个名为 List Nodes by Vocabulary ,这个插件能够让你以 vocabulary/list/[vocabulary id] 的方式获取node。
不过既然用到插件,确实有一个插件 Node Type Filter 可以直接通过Content Type筛选node,你只需要在地址后加上 ?type=story 这样的参数即可。
所以简单的答案是 Node Type Filter (还需要确认和i18n的配合),或者花点时间学习一下 Views 。
更新: Node Type Filter的筛选参数需要应用在一个List上,也就是说你要先把包含Story的Nodes先List出来,然后……。因为我默认关闭了“发布到首页”,无法通过 /node 来List,所以还是用Views,麻烦就麻烦点吧。
- Eric Tou的博客
- 如果想要发表评论,请先 登录 。
- 浏览 969 次