Knowledge Base Setup on 1C-Bitrix
Knowledge base differs from FAQ not just in volume — it's a hierarchical documentation structure with full-text search, cross-references, and navigation. On Bitrix, build this either with deeply nested infoblock sections or learning module (available in Business edition and higher).
learning Module vs Infoblocks: What to Choose
bitrix:learning module was created for online courses but can adapt to knowledge base. Provides ready hierarchy (course → lesson), built-in search, and access rights. Minus — rigid structure and outdated admin interface.
Infoblocks are more flexible. Create knowledge_base infoblock with nested sections 3-4 levels: Product → Category → Topic → Article. Sections b_iblock_section support unlimited nesting depth via IBLOCK_SECTION_ID field. For knowledge base with hundreds of articles this is optimal.
Article element properties:
-
RELATED_ARTICLES— typeElement Binding, multiple. For "See Also" block -
TAGS— typeString, multiple (or Bitrix standard tags viaTAGSinb_iblock_element) -
HELPFUL_YES/HELPFUL_NO— typeNumber. Vote counters "Did article help?" -
LAST_UPDATED— last content update date (separate from systemTIMESTAMP_X)
Hierarchical Navigation and Breadcrumbs
Navigation is critical part of knowledge base. User should understand where they are and quickly move to neighboring articles.
For breadcrumbs Bitrix can build path auto via CIBlockSection::GetNavChain(). In detail component bitrix:news.detail add breadcrumbs via $APPLICATION->SetTitle() and $APPLICATION->AddChainItem() right in template.php.
Sidebar navigation with section tree — via bitrix:menu with bitrix:menu.sections mode or custom CIBlockSection::GetList() with SECTION_ID of current section params. For 3+ level tree use recursive output or ready CIBlockSectionTree class.
Full-Text Search
Bitrix standard search via search works well for knowledge base. Index settings: in infoblock parameters set USE_SEARCH = Y, specify fields for indexing (name + detail text). Reindexing runs via /bitrix/admin/search_reindex.php.
For faceted search by tags and sections — combine bitrix:search.page with GET-parameter filtering. bitrix:search.page component accepts arrFILTER_iblock_id parameter to limit search to specific infoblock.
If standard search isn't enough (many articles, need morphology-aware search), consider Sphinx or Elasticsearch integration via OnSearchIndex and OnSearchReindex events. Requires extra infrastructure but gives qualitatively different search.
Version Control and Change History
For internal knowledge base with multiple editors need change history. Bitrix main module has built-in versioning for infoblocks — enabled in infoblock settings (VERSIONING = Y). History stored in b_iblock_element_version table.
With versioning enabled, each element save creates history record. Editor can revert to previous version via admin interface. For loaded knowledge bases with frequent edits configure limit on stored versions — by default all are stored, inflating table.
Access Rights to Sections
Knowledge bases often have public and private parts. Rights to infoblock sections set via CIBlock::SetPermission() at user group level. Private sections need component check — standard bitrix:news.* components respect infoblock rights automatically.







