Как проверить пользователя на роль
global $user ; if ( in_array ( 'administrator' , array_values ( $user -> roles ) ) == false...
Вот поступила задачка: Нужно выводить 20 случайных нод, если категория не заполнена. Переопределяем функцию вывода термина: function caraudio_menu_alter(&$items) { $items['taxonomy/term/%'] = array( 'page callback' => '_caraudio_taxonomy_term_page', 'page arguments' => array(2), 'access arguments' => array('access content'), ); } И пишем свою: function _caraudio_taxonomy_term_page($tid) { $term = taxonomy_get_term($tid); $result = taxonomy_select_nodes(array($term->tid), 'and', 0, TRUE); $output = ''; $has_rows = FALSE; while ($node = db_fetch_object($result)) { $output .= node_view(node_load($node->nid), 1); $has_rows = TRUE; } if($has_rows) { module_load_include('inc', 'taxonomy', 'taxonomy.pages'); return taxonomy_term_page($tid); } else { $output_new = ''; $result_new = db_query("SELECT * FROM {node} n WHERE n.type = 'ed_prod' ORDER BY RAND() LIMIT 0, 20"); while ($node2 = db_fetch_object($result_new)) { $output_new .= node_view(node_load($node2->nid), 1); } return $output_new; } }