Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Карта сайта

00 голосов
9
Помогите разобраться.
Имеется такая штука:
основное меню-лефт44
внизу дублер-топ
есть 7 разделов к каждому разделу-своя папка
к примеру: о компании-/about
и тд
в каждой папке есть свое доп меню: лефт1. лефт2. лефт3 и тд, всего 7 штук.
Все работает, на каждой странице отображается свое меню, но как дело доходит до карты сайта, то отображается только верхнее меню, как сделать чтобы и лефты все отображались?
Спасибо
спросил 24 Май, 13 от Kania (5,180 баллов)

9 Ответы

00 голосов
Оно вроде как находится на уровне ./index.php
- верхний уровень.
Как настроена эта папка и индекс, так и в Карте будет, ибо файл с описанием карты изначально в этом же каталоге.
ответил 24 Май, 13 от Romkka (580 баллов)
00 голосов
не до конца понял. т.е. это в свойствах папки конкретной надо задавать?
ответил 24 Май, 13 от Kania (5,180 баллов)
00 голосов
Цитата
Гость пишет:
в каждой папке есть свое доп меню: лефт1. лефт2. лефт3 и тд, всего 7 штук.Все работает, на каждой странице отображается свое меню, но как дело доходит до карты сайта, то отображается только верхнее меню, как сделать чтобы и лефты все отображались?

Имеет смысл глянуть настройки Главного модуля, а именно задать нужные Вам типы меню в полях Тип меню для нулевого уровня карты сайта и Тип меню для остальных уровней карты сайта, перечислив их через запятую.
ответил 16 Авг, 13 от HeBePHyCb (140 баллов)
00 голосов
да я делал это уже, и так и эдак, толку нет пока.
стоит так: для нулевого уровня-топ
остальные-лефт,лефт44,лефт1

в мапе главным выводится топ
ответил 15 Ноя, 13 от Kania (5,180 баллов)
00 голосов
А сами с модулем карты сайта ничего не намудрили?
Посмотрите есть ли этот модуль в ваших шаблонах:
Код
[B]/bitrix/templates/<ваш_шаблон>/main/map/default.php[/B]
и
[B]/bitrix/templates/.default/main/map/default.php[/B]

Если по указанным путям такой файл обнаружите, то переименуйте его на время.
ответил 23 Фев, 14 от HeBePHyCb (140 баллов)
00 голосов
Цитата
Гость пишет:
основное меню-лефт44
внизу дублер-топ
есть 7 разделов к каждому разделу-своя папка
к примеру: о компании-/about
и тд
в каждой папке есть свое доп меню: лефт1. лефт2. лефт3 и тд, всего 7 штук.

Видимо здесь вы имели в виду, что имеется два типа меню:
1) топ (с двумя шаблонами представлений - топ и лефт44);
2) лефт.
Если я правильно понимаю, то в корне сайта должен лежать файл основного меню топ, а внутри каждого раздела - файл меню лефт
Цитата
Гость пишет:
стоит так: для нулевого уровня-топ
остальные-лефт,лефт44,лефт1

Если мое предположение выше было верным, то правильнее будет так:
для нулевого уровня - топ
для остальных уровней - лефт
ответил 15 Июнь, 14 от HeBePHyCb (140 баллов)
00 голосов
И, кстати, проверьте в настройках Управление структурой правильность имен Типов меню
ответил 14 Окт, 14 от HeBePHyCb (140 баллов)
00 голосов
Основное "сквозное" меню, которое отображается на всех страницах-лефт44, но оно графическое и вместо текста, если редактировать меню, стоят ссылки на картинки. Внизу страницы-идет дублер меню лефт44, которое называется топ и сделано в строчку, как раз там используется текст вместо картинок. Поэтому в карте сайта я сделал чтобы оно былоза основу вроде как.

Цитата
для остальных уровней - лефт

Если просто лефт, то тоже что-то ничего не происходит.

С модулем вроде не мудрил

Цитата
Посмотрите есть ли этот модуль в ваших шаблонах:
/bitrix/templates/<ваш_шаблон>/main/map/default.php
и
/bitrix/templates/.default/main/map/default.php
Если по указанным путям такой файл обнаружите, то переименуйте его на время.


Их там не было, создал, эффект тот же smile:(
ответил 14 Фев, 15 от Kania (5,180 баллов)
00 голосов
На мой взгляд для того, чтобы у Вас корректно генерировалась карта сайта необходим следующий алгоритм:

1) Настройки -> Управление структурой
Типы меню (тип - название):
top - Основное меню сайта
left - Меню раздела

2) Настройки -> Главный модуль
Тип меню для нулевого уровня карты сайта: top
Тип меню для остальных уровней карты сайта: left

3) Использовать в публичной части сайта файлы меню:
в корне сайта - .top.menu.php (в админ части отображается как Меню типа "top")
в каждом разделе сайта - .left.menu.php (в админ части отображается как Меню типа "left")

4) Использовать в странице генерации карты сайта PHP-код:
<?$APPLICATION->IncludeFile("main/map/default.php");?>

Примечание
Если можно обойтись стандартной реализацией модуля карта сайта, то удалить папки:
/bitrix/templates/<ваш_шаблон>/main/map/
/bitrix/templates/.default/main/map/
Если необходима своя реализация карты сайта, то скопировать содержимое
из /bitrix/modules/main/install/templates/main/map/
в /bitrix/templates/<ваш_шаблон>/main/map/
и внести необходимые изменения в этом модуле в своем шаблоне.

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

Для отображения меню в публичной части сайта я бы использовал такую реализацию.

Создать дополнительные файлы в папке /bitrix/templates/<ваш_шаблон>/
topImage.menu_template.php - шаблон для основного меню с картинками;
top.menu_template.php - шаблон для основного меню в текстовом виде;
left.menu_template.php - шаблон для меню разделов

В коде шаблона сайта использовать конструкции:
Для основного меню с картинками
<?
$tm = new CMenu("top");
$tm->Init($APPLICATION->GetCurDir());
$tm->template = "/bitrix/templates/<ваш_шаблон>/topImage.menu_template.php";
echo $tm->GetMenuHtmlEx();
?>

Для основного меню в текстовом виде
<?=$APPLICATION->GetMenuHtmlEx("top");?>
Для меню разделов
<?=$APPLICATION->GetMenuHtmlEx("left");?>

Вместо GetMenuHtmlEx() можно использовать GetMenuHtml(), все зависит от реализации шаблонов меню. См. справку на CMenu::Init, CMenu::GetMenuHtml, CMenu::GetMenuHtmlEx, CMain::GetMenuHtml, CMain::GetMenuHtmlEx

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

В публичной части сайта Меню типа "top" необходимо будет редактировать в Расширенном режиме, где для каждого пункта меню нужно будет использовать параметры, в которых указать путь к картинкам для использования в шаблоне topImage.menu_template.php

Например, пусть параметр называется imageItem, тогда:
в параметрах пункта меню нужно будет указать
imageItem=/image/mitem1.gif
в шаблоне меню, надо будет использовать
$sMenu .= '<img src="'.$PARAMS["imageItem"].'" alt="'.$TEXT.'" border=0>';
ответил 25 Май, 15 от HeBePHyCb (140 баллов)

Похожие вопросы

0 голосов
1 ответ
спросил 27 Сен, 14 от NskRonin (120 баллов)
0 голосов
2 ответов
спросил 26 Ноя, 13 от MeGa4el (260 баллов)
0 голосов
6 ответов
спросил 30 Сен, 13 от Kania (5,180 баллов)
0 голосов
7 ответов
спросил 11 Июль, 13 от Kania (5,180 баллов)
0 голосов
3 ответов
спросил 14 Июнь, 13 от WIT4ER (160 баллов)