/ Published in: PHP
Use the code below to build a custom block that shows the related nodes to the current node by taxonomy term. For example: If the current node in display has a taxonomy term "fish", a bunch of links that link to nodes that have the "fish" term is to be shown in a block on the page.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
<?php $nid = (int)arg(1); $terms = taxonomy_node_get_terms($nid); $output = "<ul>"; foreach($terms as $term){ $sql = "SELECT n.title, n.nid FROM {node} n INNER JOIN {term_node} tn ON n.nid = tn.nid WHERE tn.tid = $term->tid AND n.nid != $nid LIMIT 5"; $result = db_query(db_rewrite_sql($sql)); if (db_num_rows($result)) { $output .="<li>$term->name</li><ul>"; while ($anode = db_fetch_object($result)) { $output .= "<li>".l($anode->title, "node/$anode->nid")."</li>"; } $output.="</ul>"; } } $output .= "</ul>"; return $output; } ?>