site_map + pathauto

Сентябрь 14th, 2010 by McCrush Комментировать »

Дано: сайт на Drupal + Ubercart + pathauto.

Требуется: создать карту сайта.

Проблема: модуль site_map генерирует ссылки вида ‘taxonomy/term…’, в то время как URLы разделов сайта имеют совершенно другой вид.

Перерыв кучу модулей, пришел к мнению, что лучше всего использовать модуль site_map, предварительно внеся в него небольшие изменения.

Итак, установив модуль site_map 6.x-2.1, ищем файл site_map.module и заменяем в нем строку:

[382] $term_item .= l($term->name, ($cat_depth < 0) ? taxonomy_term_path($term) : «taxonomy/term/$term->tid/$cat_depth», array(‘attributes’ => array(‘title’ => $term->description)));

на следующие строки:

$aliases = db_fetch_array(db_query(‘SELECT * FROM {url_alias} WHERE src = \’catalog/%s\», $term->tid));
$term_item .= l($term->name, ($cat_depth < 0) ? taxonomy_term_path($term) : $aliases['dst'], array(‘attributes’ => array(‘title’ => $term->description, ‘class’ => ‘sitemap_link’)));

Обратите внимание, что ubercart настроен таким образом, что префиксом синонима пути является ‘catalog’.

Результат можно посмотреть на сайте заказчика: http://www.venator.su/sitemap

Комментирование закрыто.