Setting up a knowledge base on 1C-Bitrix

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Our competencies:
Development stages
Latest works
  • image_website-b2b-advance_0.png
    B2B ADVANCE company website development
    1189
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    813
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    747
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

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 — type Element Binding, multiple. For "See Also" block
  • TAGS — type String, multiple (or Bitrix standard tags via TAGS in b_iblock_element)
  • HELPFUL_YES / HELPFUL_NO — type Number. Vote counters "Did article help?"
  • LAST_UPDATED — last content update date (separate from system TIMESTAMP_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.