Custom 1C-Bitrix Component Template Development Turnkey

The task sounds simple: "change the product card." In reality, the product card is a component template `bitrix:catalog.element`. It resides in `/bitrix/components/bitrix/catalog.element/templates/.default/`. You cannot edit it directly — changes will be lost on update. You need to create an overrid

Our competencies:

Frequently Asked Questions

The task sounds simple: "change the product card." In reality, the product card is a component template bitrix:catalog.element. It resides in /bitrix/components/bitrix/catalog.element/templates/.default/. You cannot edit it directly — changes will be lost on update. You need to create an override in /local/templates/<site_template>/components/ or in the site template folder. We specialize in custom 1C-Bitrix component template development. With over 80 projects and 7 years on the platform, we deliver turnkey solutions: from analysis to a ready template. We'll assess your project within 1 day and propose the optimal solution. A custom template runs 2–3 times faster than the standard one when implementing complex UI elements like tabs or AJAX-loaded filters. The project budget is reduced by 30–50% compared to developing a custom component from scratch.

Order of Component Template Override

Bitrix searches for a component template in the following order (simplified):

  1. /local/templates/<site_template>/components/<namespace>/<component>/<template_name>/
  2. /bitrix/templates/<site_template>/components/<namespace>/<component>/<template_name>/
  3. /local/components/<namespace>/<component>/templates/<template_name>/
  4. /bitrix/components/<namespace>/<component>/templates/<template_name>/

The correct location for custom templates is /local/templates/<template>/components/ or /local/components/. This guarantees preservation during core updates. For more details on override rules, see the official documentation.

The minimal folder structure for a template: template.php (mandatory), style.css and script.js (auto-included).

Which Components Most Often Require Custom Styling?

  • bitrix:news.list / bitrix:news.detail — news, blog, portfolio. $arResult['ITEMS'] contains an array of elements with fields and infoblock properties.
  • bitrix:catalog.element / bitrix:catalog.section — product card and catalog section page. $arResult['ELEMENT'] holds product data, $arResult['OFFERS'] contains SKUs.
  • bitrix:form.result.new — web form. The template contains HTML form with fields from $arResult['FIELDS'].
  • bitrix:main.include — including static areas.

From Our Practice: Product Card Template with Tabs

An online medical equipment store. The standard bitrix:catalog.element template displayed description, specifications, and documents in a single text block. The task: split into tabs — "Description", "Specifications", "Documents" (PDF files from an infoblock property of type "File").

We created an override in /local/templates/main/components/bitrix/catalog.element/detail/template.php. In the template: tabs using pure CSS (:target selectors, no JS dependency), specifications from $arResult['ELEMENT']['DISPLAY_PROPERTIES'], documents from the property with a check for non-empty value. We left the component caching untouched — the template works with the already prepared $arResult.

What Is Available Inside template.php

Inside template.php, the following are automatically accessible:

  • $arResult — data prepared by the component (structure depends on the specific component)
  • $arParams — parameters passed when calling the component
  • $APPLICATION, $USER, $DB — global Bitrix objects
  • $this — the component object (CBitrixComponent), through which methods like $this->GetPath() are available

Before styling, we always study the structure of $arResult — either through documentation or var_dump() during development. A typical example: to output the "Color" property, you need to get $arResult['DISPLAY_PROPERTIES']['COLOR']['VALUE']. We use Bitrix D7 ORM for data selection if the component does not provide the necessary fields.

How Custom Styling Accelerates Development

We don't just style a template — we analyze the business logic and propose the optimal structure. In our work, we use:

  • PHP 8.1+, infoblocks v2.0, ORM
  • Tagged caching to reduce server load by up to 70%
  • Integration with 1C, payment systems, SDEK as needed

Compared to developing a custom component, template customization saves up to 50% of effort. Overriding in /local/ guarantees that changes are preserved during core updates.

Why Override in /local/ Is Safe

Changes in /bitrix/ get overwritten during platform updates. The /local/ folder is not affected by updates; all custom templates remain intact. Additionally, when migrating to another server, you only need to transfer the /local/ folder — all settings and templates are preserved. This is the professional standard for Bitrix development.

Common Mistakes When Overriding Templates

  • Editing the template in /bitrix/ — changes are lost after an update.
  • Forgetting to disable the component cache during debugging — the result does not update.
  • Confusing $arResult['ITEMS'] and $arResult['ELEMENTS'] — the structure depends on the component.
  • Not checking for a mobile version template — responsiveness is often overlooked.

What Is Included in the Work

Stage Description
Analysis Study current template, requirements, structure of $arResult
Design Develop layout and template logic (including responsiveness)
Styling Create template.php, style.css, script.js in /local/
Integration Bind to data from $arResult, $arParams
Testing Check on different pages, browsers, clear cache
Documentation Describe template structure and recommendations for further improvements

Estimated Timelines

Task Type Timeframe
Styling a single simple component template 4–8 hours
Template with complex logic (tabs, filtering, AJAX) 1–3 days
Set of templates (5–10 components) 1–2 weeks

Contact us for a project assessment — we will analyze your current templates for free and suggest customization options. Order custom template styling turnkey and receive a ready solution with compatibility guarantee.

More about the 1C-Bitrix platform on Wikipedia.