На мой взгляд для того, чтобы у Вас корректно генерировалась карта сайта необходим следующий алгоритм:
1) [b]Настройки[/b] -> [b]Управление структурой[/b]
Типы меню ([i]тип - название[/i]):
[b]top[/b] - Основное меню сайта
[b]left[/b] - Меню раздела
2) [b]Настройки[/b] -> [b]Главный модуль[/b]
Тип меню для нулевого уровня карты сайта: [b]top[/b]
Тип меню для остальных уровней карты сайта: [b]left[/b]
3) Использовать в публичной части сайта файлы меню:
в корне сайта - [b].top.menu.php[/b] (в админ части отображается как [i][color=blue]Меню типа "top"[/color][/i])
в каждом разделе сайта - [b].left.menu.php[/b] (в админ части отображается как [i][color=blue]Меню типа "left"[/color][/i])
4) Использовать в странице генерации карты сайта PHP-код:
[color=green]<?$APPLICATION->IncludeFile("main/map/default.php");?>[/color]
[u]Примечание[/u]
Если можно обойтись стандартной реализацией модуля [i]карта сайта[/i], то удалить папки:
[b]/bitrix/templates/<ваш_шаблон>/main/map/[/b]
[b]/bitrix/templates/.default/main/map/[/b]
Если необходима своя реализация [i]карты сайта[/i], то скопировать содержимое
из [b]/bitrix/modules/main/install/templates/main/map/[/b]
в [b]/bitrix/templates/<ваш_шаблон>/main/map/[/b]
и внести необходимые изменения в этом модуле в своем шаблоне.
-----------------------------------
Для отображения меню в публичной части сайта я бы использовал такую реализацию.
Создать дополнительные файлы в папке [b]/bitrix/templates/<ваш_шаблон>/[/b]
[b]topImage.menu_template.php[/b] - шаблон для основного меню с картинками;
[b]top.menu_template.php[/b] - шаблон для основного меню в текстовом виде;
[b]left.menu_template.php[/b] - шаблон для меню разделов
В коде шаблона сайта использовать конструкции:
Для основного меню с картинками
[color=green]<?
$tm = new CMenu("top");
$tm->Init($APPLICATION->GetCurDir());
$tm->template = "/bitrix/templates/<ваш_шаблон>/topImage.menu_template.php";
echo $tm->GetMenuHtmlEx();
?>[/color]
Для основного меню в текстовом виде
[color=green]<?=$APPLICATION->GetMenuHtmlEx("top");?>[/color]
Для меню разделов
[color=green]<?=$APPLICATION->GetMenuHtmlEx("left");?>[/color]
Вместо GetMenuHtmlEx() можно использовать GetMenuHtml(), все зависит от реализации шаблонов меню. См. справку на [URL=http://www.bitrixsoft.ru/help/source/main/help/ru/developer/reference/cmenu/init.php.html]CMenu::Init[/URL], [URL=http://www.bitrixsoft.ru/help/source/main/help/ru/developer/reference/cmenu/getmenuhtml.php.html]CMenu::GetMenuHtml[/URL], [URL=http://www.bitrixsoft.ru/help/source/main/help/ru/developer/reference/cmenu/getmenuhtmlex.php.html]CMenu::GetMenuHtmlEx[/URL], [URL=http://www.bitrixsoft.ru/help/source/main/help/ru/developer/reference/cmain/getmenuhtml.php.html]CMain::GetMenuHtml[/URL], [URL=http://www.bitrixsoft.ru/help/source/main/help/ru/developer/reference/cmain/getmenuhtmlex.php.html]CMain::GetMenuHtmlEx[/URL]
-----------------------------------
В публичной части сайта [i][color=blue]Меню типа "top"[/color][/i] необходимо будет редактировать в [i]Расширенном режиме[/i], где для каждого пункта меню нужно будет использовать параметры, в которых указать путь к картинкам для использования в шаблоне [b]topImage.menu_template.php[/b]
Например, пусть параметр называется [b]imageItem[/b], тогда:
в параметрах пункта меню нужно будет указать
[color=green]imageItem[/color]=[color=green]/image/mitem1.gif[/color]
в шаблоне меню, надо будет использовать
[color=green]$sMenu .= '<a href="'.$LINK.'"><img src="'.$PARAMS["imageItem"].'" alt="'.$TEXT.'" border=0></a>';[/color]