Drupal 6 - 从特定类别获取节点&子类别

时间:2014-01-29 12:58:59

标签: php drupal-6

我正在一个用drupal 6开发的网站上工作。顶部菜单包含类别&单击过滤该类别上的节点以及子类别。

在右侧,有一个名为“Sustainability Services”的块,它随机显示节点。

这是我目前正在使用的当前代码。我还添加了网站的图片。enter image description here

    function node_load_by_type_right_block($type) 
    {
      $node = menu_get_object();
      $taxonomy = $node->taxonomy;  
      $nodes = array();
      $query= '';

      if($taxonomy) 
      { 
        $temp = array();
        foreach($taxonomy as $t) { 
           $temp[] = $t->tid;
        }

        $taxo = implode(",", $temp);

         $query = "SELECT n.nid FROM {node} n LEFT JOIN {term_node} tn ON tn.vid = n.vid WHERE type = 'service_provider' AND status = 1 AND tn.tid in($taxo) ORDER BY nid DESC limit 3 ";
         $results = db_query($query);  
         $count =  mysql_num_rows($results);
         //echo $count; 

         while($nid = db_result($results)) {  
             if($nid >= 530)
             $main[] = node_load($nid);   

      }  

      return $main;
    }

上面的代码显示了各种类别的随机节点。

我想要做的是当我点击任何菜单项(呈现为类别)时,Sustaniblity服务块应根据该类别进行过滤。子类别。如果该类别中没有更多节点,则应显示随机节点。因为我是drupal的新手,所以我很难处理它。

1 个答案:

答案 0 :(得分:0)

实现这一目标的一个更简单的方法是使用Views& Panels

使用Panels,您应该能够重新创建由各种视图组成的页面布局,这些视图可以对许多上下文过滤器做出反应。

有很多关于Views& amp;的在线教程。小组,找到你想要实现的目标应该相当容易。