Размещение всех компонентов модуля, добавление страниц, инфоблоков и т.п. можно сделать на этапе установки модуля, и именно этот вариант рекомендуется. Но если вы решили установить все вручную, то делать это следует по шагам.
По умолчанию будем считать, что вы делаете раздел с документацией; по факту это может быть и база знаний, разницы в установке нет.
В первую очередь определяемся с директорией, в которой должны быть все документации. Предположим, это будет /doc/. Создаем в ней 2 файла — .section.php и index.php.
Содержимое файла .section.php:
<?
$sSectionName = "Документация";
$arDirProperties = Array(
"description" => "Документация",
"keywords" => "Документация"
);
?>
Тип инфоблока тоже назовем doc, поэтому в параметрах вызова компонента указываем "IBLOCK_TYPE" => "doc".
В данном случае мы настраиваем компоненты с поддержкой ЧПУ. Обратите внимание на параметр "SEF_FOLDER" => "/doc/".
Содержимое файла index.php:
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetPageProperty("title", "Документация");
$APPLICATION->SetPageProperty("keywords", "...");
$APPLICATION->SetPageProperty("description", "...");
$APPLICATION->SetTitle("Документация");
?>
<?
$APPLICATION->IncludeComponent(
"bxmaker:mdbase",
".default",
array(
"IBLOCK_TYPE" => "doc",
"CACHE_TYPE" => "A",
"CACHE_TIME" => 60*60*24*10,
"CACHE_GROUPS" => "Y",
"COMPONENT_TEMPLATE" => ".default",
"SEF_MODE" => "Y",
"SEF_FOLDER" => "/doc/",
"COMPOSITE_FRAME_MODE" => "A",
"COMPOSITE_FRAME_TYPE" => "AUTO",
"SEF_URL_TEMPLATES" => array(
"index" => "",
"item" => "#IBLOCK_CODE#/",
"section" => "#IBLOCK_CODE#/#SECTION_CODE_PATH#/",
"detail" => "#IBLOCK_CODE#/#SECTION_CODE_PATH#/#ELEMENT_CODE#/",
"search" => "#IBLOCK_CODE#/search/",
)
),
false
);
?>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Чтобы изменить логотип в шапке шаблона, используемого для раздела с документацией, необходимо в настройках модуля загрузить свой логотип.
Ссылка с логотипа по умолчанию ведет на корневой адрес сайта — /.
Слово «документация» может быть заменено без правки шаблона. Для этого необходимо задать свойство раздела, в котором размещена документация или база знаний. Нужно либо через публичную часть указать другое название через свойства раздела, или вручную в исходном коде страницы в файле /doc/index.php. Код свойства — MDBASE_ROOT_NAME.
$APPLICATION->SetDirProperty('MDBASE_ROOT_NAME', 'База знаний');
Ссылка по умолчанию указана как /doc/. Чтобы её изменить, достаточно указать свойство раздела с кодом MDBASE_ROOT_URL.
$APPLICATION->SetDirProperty('MDBASE_ROOT_URL', '/custom_doc/');
Добавляем правило через админку Битрикса или добавляем вручную в файл /urlrewrite.php в корне сайта. Добавляем запись:
<?php
$arUrlRewrite=array (
//...
array (
'CONDITION' => '#^/doc/#',
'RULE' => '',
'ID' => 'bxmaker:mdbase',
'PATH' => '/doc/index.php',
'SORT' => 100,
),
//...
);
?>
Подключаем шаблон модуля к текущему сайту. Для этого в админке идем в Администрирование / Настройки / Настройки продукта / Сайты / Список сайтов, находим нужный и добавляем шаблон.
/doc/.
Для раздела документаций используется тип инфоблока, то есть в разделе с документацией отображаются документации только одного типа.
Каждый отдельный инфоблок соответствует отдельной документации. Для каждого инфоблока задается картинка и описание при настройке, которые потом выводятся в публичной части.
При добавлении типа инфоблока необходимо указать его идентификатор — doc.
Поставить галочку — «Использовать древовидный классификатор элементов по разделам».
И на вкладке «Дополнительно» заполнить поле — «Файл с формой редактирования элемента». В качестве значения необходимо указать путь /bitrix/modules/bxmaker.mdbase/include/iblock_element_form.php.
Далее в добавленный ранее тип инфоблока добавляем сами инфоблоки со следующими настройками:
#SITE_DIR#doc/#IBLOCK_CODE#/.#SITE_DIR#doc/#IBLOCK_CODE#/#SECTION_CODE_PATH#/.#SITE_DIR#doc/#IBLOCK_CODE#/#SECTION_CODE_PATH#/#ELEMENT_CODE#/.Далее можно добавить запись в добавленный инфоблок. Указываем название, символьный код, активность и сам текст в формате markdown. Также можно указать уникальные тексты в метатегах, задав их на вкладке SEO.
После сохранения записи кэш компонентов обновится, и документация станет доступной.


После всех проделанных операций в публичной части документация должна отображаться примерно так:


