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

Формирование карты сайта

00 голосов
9
Подскажите, плз. Разбираюсь с формированием карты сайта, создал страницу в структуре сайта, кинул компонент на страницу.
1) Смотрю документацию, не могу найти параметр что-нить типа START_ID, чтобы корнем дерева был раздел "Статьи" (сайт целиком состоит из статей)
2)Не понял, как настраивать статьи или подразделы чтобы они выводились/не выводились в карте сайта
Код
<?$APPLICATION->IncludeComponent(
   "bitrix:main.map",
   "",
   Array(
      "LEVEL" => "10",
      "COL_NUM" => "1",
      "SHOW_DESCRIPTION" => "N",
      "SET_TITLE" => "Y",
      "CACHE_TYPE" => "A",
      "CACHE_TIME" => "3600"
   )
);?>
спросил 22 Май, 13 от ddvfty (440 баллов)

9 Ответы

00 голосов
Карта сайта формируется на основе типов меню, что заданы в админке (настройки Главного модуля). Есть там такой раздел - Карта сайта, а в нем два параметра: Тип меню для нулевого уровня карты сайта и Тип меню для остальных уровней карты сайта. Все, что есть в этих меню - будет в карте, чего нет - того не будет.
ответил 22 Май, 13 от Pomnep (13,960 баллов)
00 голосов
Почитал доки про меню, начало так проясняться. Не понял только, как автоматизировать процесс, например, у меня 100 статей на сайте, разбитых по различным подразделам. Можно ли сделать так, чтобы сразу после создания статьи ссылки на новые статьи автоматом появлялись в меню, или нужно каждый раз вручную создать новый пункт.
ответил 22 Май, 13 от ddvfty (440 баллов)
+11 голос
А вы что, для каждой статьи отдельный пункт меню делаете?

если у Вас создан раздел (например /articles), где на индексной странице Вы поместили компонент "новости", то в эту же папку кидаете файл для создания подуровня вида .тип_меню.menu_ext.php.
У меня файл имеет вот такое название .sub.menu_ext.php
внутри следующий код:
Код
<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

global $APPLICATION;

$aMenuLinksAdd=$APPLICATION->IncludeComponent("bitrix:menu.sections", "", array(
   "IS_SEF" => "Y",
   "SEF_BASE_URL" => "/articles/",
   "SECTION_PAGE_URL" => "section/#ID#/",
   "DETAIL_PAGE_URL" => "#ID#/",
   "IBLOCK_TYPE" => "articles",
   "IBLOCK_ID" => "6",
   "DEPTH_LEVEL" => "1",
   "CACHE_TYPE" => "A",
   "CACHE_TIME" => "3600"
   ),
   false
);

$aMenuLinks = array_merge($aMenuLinks, $aMenuLinksAdd);
?>


файл создаётся один раз при создании раздела. При добавления подразделов статей (новостей), они автоматически появляются в выпадающем меню. При выборе подраздела, на страницу выводится список статей из этого подраздела.

Не забудьте в настройках компонента меню, которое будет показывать подуровни установить галку "Подключать файлы с именами вида .тип_меню.menu_ext.php"

Понятное дело, что в корне сайта в этом случае нужно создать меню более высокого уровня (у меня типа "top")
ответил 10 Авг, 13 от ZELKA (380 баллов)
00 голосов
Спасибо, сейчас опробую
ответил 10 Ноя, 13 от ddvfty (440 баллов)
00 голосов
поищите на форуме по слову "menu_ext.php" - много обсуждений найдёте
ответил 18 Фев, 14 от ZELKA (380 баллов)
00 голосов
Немного поправил под себя Ваш код (увеличил уровень вложенности, изменил ID блока), но выводятся ссылки только на подразделы, а хотелось бы, чтобы и на сами статьи.
ответил 09 Июнь, 14 от ddvfty (440 баллов)
00 голосов
так и должно быть. Подраздел - самый нижний уровень меню, а дальше уже элементы этого подраздела.
А зачем на сами статьи-то? А если их у Вас хотябы сотня (обычно статей намного больше бывает), то такое меню не влезет в экран.

собственно открыв страницу подраздела пользователь и так увидит список статей. Всё логично.
ответил 09 Окт, 14 от ZELKA (380 баллов)
00 голосов
Статей пока с полсотни, в перспективе будет больше, будет слишком много - сделаю сворачивалки на javascript. А вообще, это меню для карты сайта, а ссылки на статьи - требование заказчика.
ответил 10 Фев, 15 от ddvfty (440 баллов)
00 голосов
Цитата
mike1982 пишет:
Статей пока с полсотни, в перспективе будет больше, будет слишком много - сделаю сворачивалки на javascript. А вообще, это меню для карты сайта, а ссылки на статьи - требование заказчика.

Сочувствую. Тогда надо совй компонент писать, аналогичный bitrix:menu.sections
Штатными средствами не выйдет.
ответил 22 Май, 15 от Pomnep (13,960 баллов)

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

0 голосов
1 ответ
спросил 28 Июль, 15 от аноним
0 голосов
1 ответ
0 голосов
2 ответов
спросил 19 Авг, 13 от Kiriel (2,010 баллов)
0 голосов
5 ответов