Размещение всех комопнентов модуля, добавление страниц, инфоблоков и т.п. можно сделать на этапе установки модуля и именно этот вариант рекомендуется. Но если вы решили установить все вручную, то делать это следует по шагам.
По умолчанию будем считать что вы делаете раздел с документациями, по факту это может быть и база знаний, разницы в установке нету.
В первую очередь определяемся с директорией в коотрой должны буть все документации, прдеположим это будет /doc/
. Создаем в ней 2 файла - .seciton.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.
После сохранения записи, кэш компонентов обновится и документация станет доступной.
После всех проделанных операций, в публичной части документации должны отображаться примерно так