aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio <silvio@devlet.com.br>2011-05-24 12:40:23 -0300
committerSilvio <silvio@devlet.com.br>2011-05-24 12:40:23 -0300
commit1f8237558ec4fe1fefb1e90016443828a8913975 (patch)
treeb38980efbc71bcbd3a42c289aa83bbf3fffe2575
parentbf8fef777e4ece714a4f526b8a5b6007e3e48bde (diff)
downloadtaxonomy_node_tree-1f8237558ec4fe1fefb1e90016443828a8913975.tar.gz
taxonomy_node_tree-1f8237558ec4fe1fefb1e90016443828a8913975.tar.bz2
Using a theme function for taxonomy_node_tree_list
-rw-r--r--taxonomy_node_tree.module51
1 files changed, 48 insertions, 3 deletions
diff --git a/taxonomy_node_tree.module b/taxonomy_node_tree.module
index 9288de4..07ea515 100644
--- a/taxonomy_node_tree.module
+++ b/taxonomy_node_tree.module
@@ -42,6 +42,7 @@ function taxonomy_node_tree_parents($vid) {
*
* @param $nodes
* Array with node objects.
+ *
* @param $terms
* Array with term objects.
*
@@ -93,6 +94,7 @@ function taxonomy_node_tree_relation($tree) {
*
* @param $tree
* Tree with term objects to be changed (by reference).
+ *
* @param $term
* Term object.
*/
@@ -136,6 +138,7 @@ function taxonomy_node_tree_hierarchy($tree) {
*
* @param $nodes
* Array with node objects.
+ *
* @param $terms
* Array with term objects.
*
@@ -156,13 +159,17 @@ function taxonomy_node_tree_build($nodes, $terms) {
*
* @param $vid
* Which vocabulary to generate the tree for.
+ *
* @param $parent
* The term ID under which to generate the tree. If 0, generate the tree
* for the entire vocabulary.
+ *
* @param $depth
* Internal use only.
+ *
* @param $max_depth
* The number of levels of the tree to return. Leave NULL to return all levels.
+ *
* @param $cache
* Whether to use cache results.
*
@@ -209,12 +216,47 @@ function taxonomy_node_tree_taxonomy_get_tree($vid, $parent = 0, $depth = -1, $m
}
/**
+ * Implementation of hook_theme().
+ */
+function taxonomy_node_tree_theme() {
+ return array(
+ 'taxonomy_node_tree_list' => array(
+ 'arguments' => array(
+ 'term' => NULL,
+ 'id' => NULL,
+ 'class' => NULL,
+ 'baselink' => NULL,
+ 'level' => NULL,
+ ),
+ 'function' => 'theme_taxonomy_node_tree_list',
+ ),
+ );
+}
+
+/**
* Recursively build an HTML taxonomy node tree.
*
* @ingroup themeable
- * @todo Usage with hook_theme().
+ *
+ * @param $term
+ * Current of starting term.
+ *
+ * @param $id
+ * Base id for list elements.
+ *
+ * @param $class
+ * Class for list elements.
+ *
+ * @param $baselink
+ * Base link for urls.
+ *
+ * @param $level
+ * Nesting level user for recursion.
+ *
+ * @return
+ * Rendered HTML tree.
*/
-function taxonomy_node_tree_list($term, $id, $class, $baselink = NULL, &$level = NULL) {
+function theme_taxonomy_node_tree_list($term, $id, $class, $baselink = NULL, &$level = NULL) {
if ($level == NULL) {
$level = 0;
@@ -229,7 +271,7 @@ function taxonomy_node_tree_list($term, $id, $class, $baselink = NULL, &$level =
$output .= $term->name;
$output .= '<ul id="' . $id .'-ul-'. $level .'" class="'. $class .'">';
foreach ($term->below as $child) {
- $output .= taxonomy_node_tree_list($child, $id, $class, $baselink, $level);
+ $output .= theme_taxonomy_node_tree_list($child, $id, $class, $baselink, $level);
}
$output .= '</ul>';
}
@@ -258,6 +300,9 @@ function taxonomy_node_tree_list($term, $id, $class, $baselink = NULL, &$level =
*
* @param $parents
* Direct or all parent terms.
+ *
+ * @return
+ * Array with node and parent terms.
*/
function taxonomy_node_tree_trail($nid, $tid, $parents = 'direct') {
$trail = array();