我在Drupa实战(Think in Drupal第2,3集)里面,曾经给出一个列子,使用Views列出2级分类术语。后来在清华大学图书馆为学员培训Drupal的时候,留过这样的一个作业,如何使用Views列出多级的分类术语?比如说3级,4级?
解决的办法是这样的,这里只提供一个思路,我在实际项目中用过的解决办法:
1,创建一个view,用来列出词汇表的一级分类术语,只列第1级的。 比如说 list_first_level_term.
2,创建一个view,用来列出特定分类术语的所有子术语,不包括孙术语(子术语的子术语), list_first_child_term。这里面使用了参数的传递,传递父术语的tid过来,列出它的子术语。
3,在上面的两个views里面,都添加term tid字段。覆写这个字段的输出。在对应的Views字段模板,使用这样的一段代码:
print views_embed_view('list_first_child_term', 'default', $tid);
这样循环调用,就可以列出所有的术语了。通过覆写模板输出,就能够输出下面的结构了。
<ul>
<li> <ul> <li></li> <li></li></ul></li>
<li></li>