Правки в модуле "Sitemap" для терминов с одной нодой

Если у нас имеется только один материал, принадлежащий данному термину, то будет логично переходить сразу на карточку данного товара, а не на страницу термина (на которой будет всего 1 ссылка на данный товар). Если мы выводим карту сайта для людей с помощью модуля Sitemap, то необходимо в файле /sites/all/modules/site_map/site_map.module перед строкой elseif ($term->count) { вставить следующий код:

elseif ($term->count==1) {
    $child_nodes = taxonomy_select_nodes($term->tid,false);
    $term_item .= l($term->name, 'node/'.$child_nodes[0], array('attributes' => array('title' => $term->name)));
}

Теперь для терминов с одной нодой будет указана ссылка на данную ноду.

----------------------------------------------------------------------------------------------------------------------------------------------

Также можно исключить лишние страницы этих терминов из sitemap.xml модуля XML Sitemap. Для этого в файле /sites/all/modules/xmlsitemap/xmlsitemap_taxonomy/xmlsitemap_taxonomy.module добавляем в функцию xmlsitemap_taxonomy_create_link() перед строкой return $term->xmlsitemap :

$child_nodes = taxonomy_select_nodes($term->tid,false);
if (count($child_nodes)==1) { 
    $term->xmlsitemap['loc'] = '';
};