|
我做相关文章是按关键词来做的,用的是drupal 7里面默认的tag分类字段。 首先在views建立两个过滤条件% {& |7 ^6 t: w* v9 B# w& F
排除指定node,符合多个分类的tid(因为是根据关键词相关,所以得把node自己排除) 内容: Nid 最下面更多中选择不包含 ~8 H2 |5 i0 H5 l
内容: Has taxonomy term ID 选择多选 过滤输入为[nid]/[tid1]+[tid2]+[tid3],这样相关文章的views就弄好了。
" C5 s. w- H8 ^保存为 名称为xiangguan的views,其中一块机读名称为block,后面会用到。 然后是得在页面里面显示出来,放在block里面输出,比较烦一点,因为没有相关的变量可以用,得用arg()捕获。 我是放在node.tpl.php中输出的,位置正好放在留言上面,另一个原因是node里面的几个变量好用。 $nid: node Number ID.
8 ^- Y; e! T! m# A8 ^0 W$type: Node type, i.e. story, page, blog, etc.
+ e: v7 F7 R4 I2 O' J$view_mode: View mode, e.g. ‘full’, ‘teaser’…8 u) {- U; c% E/ ?0 Q
$node: Full node object. Contains data that may not be safe.
% @' d' n! {9 N剩下的事情就简单了,使用views_embed_view($name, $display_id = ‘default’)输出。 if($view_mode == “full” && $type != “page”) //只在页面中输出不在taxmoney输出,不在page类型中输出 { echo ‘<h4 class=”xiangguan”>相关阅读</h4>’; $field_tags = $content['body']['#object']->field_tags['und']; //获得tags的tid for($i=0;$i<count($field_tags);$i++) { $view_number[$i] = $field_tags[$i]['tid']; } print views_embed_view(‘xiangguan’,'block’,$nid,implode(‘+’,$view_number));//输出views }如果要放在page.tpl.php中调用的话,$node变量里面去找相应的东西吧。相关的文档可以参考
" C* A" L- B0 k- G6 D$ o3 b- s0 z- [1 u
* I: ~9 R a, ?2 H1 f8 s
- ?4 T$ m- `& J. n3 ~ |