Creating product infographics for 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
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Website development for FIXPER company
    811
  • 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
    655
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    976

Creating Product Infographics for 1C-Bitrix

A catalog manager exports 3,000 product cards from 1C — each has attributes: power, dimensions, material, compatibility. All of this lives in infoblock properties as plain text. A buyer opens a card and sees a wall of numbers with no context. Conversion is below the floor, returns are above the norm. Infographics solve exactly this problem: they translate technical data into a visual language directly inside the product card.

The task is non-trivial because infographics must not be drawn once manually, but generated automatically from infoblock properties — for thousands of items with different attributes.

How Infographic Data is Stored

A standard infoblock (b_iblock_element, b_iblock_element_prop_s*, b_iblock_element_prop_m*) stores properties as strings or references to directories. Infographics require structured numeric values with units of measurement and "normal" ranges.

A practical approach — add extra properties of type "List" and "String" to the product infoblock:

  • INFOGRAPHIC_TYPE — infographic template type (bar, gauge, comparison, icon-list)
  • INFOGRAPHIC_VALUES — JSON with keys and values for rendering
  • INFOGRAPHIC_TEMPLATE — visual template identifier

For catalogs where attributes already live in dedicated properties (POWER_W, WEIGHT_KG, DIMENSIONS), an intermediate layer is not needed — data is taken directly.

Generating Infographics: Two Approaches

Server-side (SVG on the fly). A custom Bitrix component in template.php reads element properties and renders SVG via PHP templating. Suitable for static images that can be cached.

// /local/components/custom/catalog.infographic/templates/.default/template.php
$power = $arResult['PROPERTIES']['POWER_W']['VALUE'];
$maxPower = $arResult['INFOGRAPHIC_SCALE']['max'];
$percent = min(100, round(($power / $maxPower) * 100));
// render SVG progress-bar with $percent

The result is SVG embedded in the page body. It is cached together with the component via the standard $this->SetResultCacheKeys(...) mechanism.

Client-side (Canvas/SVG via JS). Data is passed into data attributes of an HTML element; a JS library (D3.js or Chart.js) renders interactive charts. More complex from an SEO perspective — search engines see the attributes but not the image.

For most online stores the optimal approach is a hybrid: a static SVG rendered server-side + hover animation in JS. The static version is indexed; interactivity is preserved.

Infographic Templates and Their Application

Product type Infographic template Key properties
Home appliances Gauge (dial) Power, noise level (dB)
Clothing Icons with size chart Height, chest/waist circumference
Building materials Bar chart Strength, thermal conductivity
Food products Pie chart Protein/fat/carbs, calories
Electronics Comparative radar Frequency, memory capacity, battery life

Each template is a separate PHP/SVG file in the /local/components/custom/catalog.infographic/templates/ folder. The template is selected based on the element's INFOGRAPHIC_TYPE property or the infoblock type.

Auto-Generation During Bulk Import

The main pain point is not drawing infographics for 10 items manually, but updating them when properties change during a 1C data exchange.

Solution — an OnAfterIBlockElementUpdate event handler:

AddEventHandler('iblock', 'OnAfterIBlockElementUpdate', 'updateInfographicCache');

function updateInfographicCache($arFields) {
    // clear the component cache for this element
    BXClearCache(true, '/iblock/infographic/' . $arFields['ID']);
    // if the infographic is stored as an image — queue regeneration
    \Bitrix\Main\Application::getInstance()->addBackgroundJob(
        'CustomInfographic::regenerate',
        [$arFields['ID']]
    );
}

addBackgroundJob is a background execution agent; it does not slow down element saving in the admin panel and does not block 1C exchange during bulk import of thousands of items.

Exporting Infographics as Images

Some clients want infographics not as SVG embedded in the page, but as PNG images — for marketplaces, price lists, and email newsletters. This requires server-side rasterization:

  • Puppeteer (Node.js) — loads the page and takes a screenshot of the SVG block. Runs as a separate service; Bitrix calls it via curl.
  • Inkscape CLI — converts SVG to PNG without a browser. Suitable for Linux environments.
  • ImageMagick — for simple templates (overlaying text on a background image).

Finished PNGs are saved to /upload/infographic/{ELEMENT_ID}/ and linked to the element as a "File" type property — the standard Bitrix mechanism.

Integration with the Product Card

A custom subcomponent is connected inside the bitrix:catalog.element component template:

// detail.php or template.php of the main component
$APPLICATION->IncludeComponent(
    'custom:catalog.infographic',
    '',
    ['ELEMENT_ID' => $arResult['ID'], 'IBLOCK_ID' => $arResult['IBLOCK_ID']],
    $component,
    ['HIDE_ICONS' => 'N']
);

Positioning the infographic within the product card is handled via CSS Grid or Flexbox in the template. A typical solution: infographic below the product description, above the specifications table.

Timelines

Scope Timeline
1 infographic type, up to 500 products 1–2 weeks
3–5 template types, large catalog 3–5 weeks
+ PNG auto-generation, 1C exchange integration +1–2 weeks

Product infographics are an engineering task, not a design task. A properly built architecture allows adding new templates without rewriting the system and keeps data current at any catalog scale.