Customizing a Template from the 1C-Bitrix Marketplace

A template from the marketplace often cannot withstand real-world load: the layout breaks, and edits bring new errors with them. We customize and rebuild Bitrix templates turnkey — from analysis to testing on all devices. As a result, you get a stable website that does not break during updates and catalog growth.
Frequently Asked Questions

Refining a Bitrix Template: Where the Markup Breaks

A ready-made template from the marketplace almost never fits a project "as is": it is built for an averaged online store, while on a real site it runs into already installed modules, a custom catalog structure, and accumulated edits.

Refining a Bitrix template begins not with cosmetics, but with diagnostics — pinpointing exactly where the expected behavior of components diverges from the actual markup.

The first source of problems is component conflicts. The template brings its own versions of bitrix:news.list, bitrix:catalog.section, and its own include areas, while the site already runs other calls to the same components with different caching parameters and template paths.

As a result, the same block is rendered twice, pagination breaks, or someone else's result_modifier.php gets pulled in. This has to be sorted out at the level of how components are bound to sections, not by editing a single file.

The second is duplicate templates. The installation wizard copies files into /local/templates/, but some styles and scripts remain in the old template, while others are connected through the new template's template_styles.css.

Markup edits start to "not apply": you fix one file, but the browser serves another because of the load order. The cure is consolidating styles into a single source and making the load order explicit in header.php.

The third and most unpleasant one is lost styles after a core update. Updating the core or a module overwrites files located outside /local/, and custom markup edits disappear along with them.

That is why we keep all template changes in /local/ and commit them to version control: then core updates go without surprises, and rolling back to a working state takes minutes instead of hours of digging through logs.

What reworking a template instead of making edits gives you

Edits on top of a ready-made marketplace template accumulate: each new block adds extra wrappers to the markup, duplicate includes, and style overrides that no one tracks anymore.

After a few iterations, the page starts firing dozens of requests for icons and fonts, and the browser spends time recalculating styles instead of rendering.

Reworking a template instead of making spot edits removes this layer entirely — we rebuild the structure around the site's actual content, not the vendor's demo content.

Page load speed here is not an abstract metric but a consequence of architecture.

When the markup is built from reusable components and resources are included as they actually appear on the page, the browser receives a ready structure sooner and does not wait for unused files to load.

In practice, this delivers a noticeable gain in time to first render and in the stability of metrics as content grows — new sections do not drag the weight of the entire template along with them.

Resilience to updates is the second reason to rework rather than patch. Edits scattered across the vendor's files have to be migrated again with every update of the marketplace solution, and some of them get lost.

Reworking the template moves customization into a separate layer on top of the base theme: updating the core and modules proceeds without conflicts, and our logic remains untouched.

Fewer support requests is a direct effect of the first two points. When the markup is predictable and updates do not break blocks, the stream of tasks like "the form shifted" or "the filter stopped working" disappears.

We capture this in before-and-after measurements: the number of frontend incidents drops, and the freed-up time goes into development rather than putting out regressions.

Modification approaches: in-place edits or rebuild

The choice between in-place edits and a rebuild comes down to one question: will the modification survive the next template update.

If the files of a marketplace solution are changed directly, the edits get overwritten during an update — and everything reverts to its original state.

A child template solves this differently: it inherits from the parent, overrides only the necessary files and components, and the parent's updates are pulled in without conflicts.

Option When it fits Limitations
In-place edits A one-off fix, the template is no longer updated An update overwrites the changes; rollback only from a backup
Child template The template is updated, there are many edits Overridden files need to be migrated; some settings are duplicated
Component customization The output logic changes, not the markup Requires understanding of the structure; a major update means a revision
Template rebuild Dozens of edits have accumulated, inheritance no longer helps Takes longer; acceptance testing across all pages is required

In practice, these are most often combined: a child template for markup and styles, component customization for the query and output logic. This way, a parent update doesn't break the modification, and the changes remain targeted and manageable.

We separately check compatibility with the current core and the solution version: some methods in older templates are no longer supported, and an in-place edit can drag along outdated code.

Before starting, we record which files we're overriding — that is the boundary between a safe modification and a rebuild.

How we handle Bitrix template customization step by step

Customizing a template from the marketplace almost never comes down to editing a single file: a template inherits components, its own settings, and overrides, so first you need to understand exactly where the block you need lives and what will break if you intervene.

We work in stages — this way edits stay predictable, and updating the template doesn't turn into rebuilding the site.

Stages of work

  1. Template audit. We analyze the structure: which components are overridden, where custom styles and scripts live, which settings are exposed as template parameters. We identify the points of intervention and the places that must not be touched, so as not to lose compatibility with updates.
  2. Edit plan. We agree on the list of changes with references to specific files and components. We separately mark edits in the core and in the template — the former will survive an update, the latter will have to be migrated manually.
  3. Markup and logic edits. We work in a child template or through component overrides, rather than by editing the original sources from the marketplace. This way, updating the template doesn't overwrite our changes.
  4. Markup testing. We check responsiveness at real resolutions, the behavior of forms, dropdown menus, and dynamic blocks. We separately review pages that weren't in the demo content: empty sections, long headings, products without images.
  5. Testing on a site copy. We run the changes on a test environment with a real database to catch conflicts with installed modules and caching before deploying to production.
  6. Handover of changes. We transfer the edits to the live site, clear the cache, and document the list of modified files and instructions for updating the template.
  7. Post-deployment support. We monitor the behavior of key pages and stay in touch in case something breaks after a content update.

As a result, the client gets not a set of scattered edits, but a manageable template: it's clear what was changed and where, how it will survive an update, and who to come back to for the next round of customization.

What the client receives after template customization

After customization, you receive not a set of scattered files, but a package that allows the template to be maintained without us: an updated template, a component map, and an editing guide. Below is what exactly is included in the handover and why each artifact is needed.

  • Updated template — a working copy with the changes applied, deployed on your staging environment. The differences from the original marketplace version are recorded in a separate list, so that when the vendor releases the next update, it is clear what needs to be carried over.
  • Component map — a map of pages and includes: which component is responsible for what, where parameters are inherited, which parts of the template are overridden. With it, a new developer gets up to speed on the project in hours rather than days of deciphering someone else's code.
  • Editing guide — where to change texts, banners, contacts, and menus through the admin panel, and where code intervention is required. With screenshots and exact paths to sections, so that a content manager doesn't touch anything unnecessary.
  • Backup — a full snapshot of the site and database before work begins. This is the rollback point: if an edit produces an unexpected effect on the live site, reverting takes minutes rather than hours of recovery.
  • List of modified files — a list of affected templates and styles with an explanation of why each was changed. It allows you to selectively carry over changes to other sites in your network.
  • Documented environment settings — which modules and core versions are used, what permissions the user groups have. Without this, the template behaves differently on staging and in production.
  • Update procedure — the sequence of actions when a new template version is released by the vendor: what to compare, what to carry over manually, how to verify the result before publishing.

The package addresses the main risk of customizing a ready-made template — dependence on a single contractor. The map and guide describe the system in such a way that it can be developed by your own team or another contractor. Describe your task — we will come back with an estimate and a handover plan.

Case study: reworking an online store template

The client came with a store built on a ready-made template from the 1C-Bitrix marketplace: a catalog with several thousand items, dozens of product properties, heavy banners on the homepage.

The template worked, but every edit triggered a cascade: you changed one block and the grid on neighboring pages fell apart, while layout errors that no one had noticed for years surfaced on the product page.

What it was before

Measurements on real traffic showed: the catalog page rendered in 4.5 seconds, the product page in 6. The console showed 40+ layout errors: duplicate IDs, nested blocks with fixed widths, images without dimensions.

The template pulled all styles and scripts on every page, including those needed only on the homepage.

What was changed

We broke the template down into layers: the base framework, catalog components, the product page.

We moved resource loading to the level of specific pages instead of the shared template, rewrote the catalog grid without fixed widths, added image dimensions and lazy loading for blocks below the fold.

Separately, we went through all component templates and removed duplicate requests for product properties.

What it became

Catalog rendering — 1.8 seconds instead of 4.5, the product page — 2.4 instead of 6. The number of layout errors dropped from 40+ to zero according to the validator. Edits no longer break neighboring pages: a new block is added to its own layer and doesn't affect the rest.

Further refinements to the template proceed predictably — with no regression on already-verified pages.

The case is illustrative in that a marketplace template doesn't need to be thrown away: with careful reworking, it delivers the same speed as custom markup, but without the cost of building from scratch.

How is a child template different from a copy of the main template?

A child template is a separate folder that connects the parent template and overrides only the files that need to be changed: the header, footer, individual components, styles. Everything else is inherited from the parent through the chain.

A copy of the main template is a complete snapshot of all files into a new folder, after which the connection to the original is lost: edits in the parent no longer arrive, and updates have to be transferred manually.

The difference shows up when updating the template from the marketplace. If a child template is in place, updating the parent pulls in fixes, new components, and security patches — your overridden files remain untouched, with no conflicts.

If a copy is in place, the update either overwrites your customization or does not install at all: the system sees modified files and requires you to resolve the conflict manually. The more edits have accumulated, the more expensive each update becomes.

Style inheritance works on the same principle. A child template connects the parent's styles and adds its own on top — the cascade assembles predictably, and updating the parent styles does not break your modifications.

In a copy, the styles are duplicated in full, and any update turns into a comparison of two sets of files.

The practical conclusion: a copy is made only when the template is abandoned and there will be no updates. In all other cases — a child template.

It preserves the ability to update the template, isolates your edits from the parent's, and reduces the amount of code that needs to be maintained.

Common technical concerns about template customization

A marketplace template is not a monolith but a set of components, component templates, and files in local/templates.

Edits made directly to it are overwritten on the next update of the marketplace solution: the update rewrites the template files entirely, and the customizations disappear along with them.

That is why the first technical question is not "can it be customized" but "how to customize it so that updates don't break the result."

We separate the customization from the template: changes go into a child template, custom components go into the project's namespace, and logic that cannot be moved into a file is handled by event handlers.

Then an update of the marketplace solution updates only its own part, while our edits remain untouched and continue to work on top of the new version.

Will a template update overwrite all our edits?

No, if the customization is moved into a child template and custom components. An update overwrites the files of the marketplace solution itself, not what sits separately and is included on top.

Before every update we run a conflict check: if the new version changes a structure we overrode, it is visible before rollout, not after.

How do you roll back a customization if something goes wrong?

Each block of edits goes in as a separate commit describing what was changed and why. A rollback is reverting a specific commit, not restoring the entire site from a backup.

If an edit affects only one component, only that component is rolled back — the other customizations keep working.

Are the edits compatible with future core updates?

We don't touch the core and don't modify files that are updated as standard. Everything that can be done through events and custom components is done exactly that way — this is the key to compatibility.

Where interference in third-party code is unavoidable, we document it separately and warn that a check will be required during an update.

What happens if an update does break the customization?

This is possible if the marketplace solution changes the template structure we relied on. We keep customizations isolated, so a break is localized to one place and fixed in a targeted way.

The procedure and rollback points are described in the documentation you receive along with the project.

Let's discuss your task of refining the template

To make the estimate substantive rather than a rough guess, we need access to three things: the template repository with its revision history, a dump of the infoblock structure, and a description of exactly what is unsatisfactory in the current behavior.

With this set, we reproduce the problem on a test environment, identify the intervention points, and only then calculate the labor costs — otherwise any figure for refining a Bitrix template would be guesswork.

From there, the conversation gets to the point: which edits affect only the component template, and which ones pull in infoblock settings, cart rules, or the logic of exchange with 1C. The timeline and scope of work depend directly on this.

  • Describe the task: what should change on the page, in the cart, in the personal account — with examples of "how it is now" and "how it should be."
  • Attach a link to the environment or screenshots of the problem areas — this way we can localize the cause faster.
  • Specify whether the template has been refined before and whether there are core updates that must not be lost.
  • Say whether the edits need to be moved to a child template so that marketplace updates don't overwrite the refinements.
  • Outline the desired timeline and the date by which the result must be on the production site.

After the review, we come back with a work estimate, a stage-by-stage refinement plan, and realistic timelines — taking into account that some of the edits are made in the child template and don't break future updates.

If hidden dependencies on 1C or third-party modules come to light along the way, we'll say so right away, before the start, and not in the middle of the work.

Describe the task in any convenient form — we'll come back with an estimate and a plan.

Our competencies:

Latest works

  • B2B ADVANCE company website development
    B2B ADVANCE company website development
    1543
  • Website development for FIXPER company
    Website development for FIXPER company
    1060
  • Development of an Online Appointment Booking Widget for a Medical Center
    Development of an Online Appointment Booking Widget for a Medical Center
    837
  • Development based on 1C Enterprise for MIRSANBEL
    Development based on 1C Enterprise for MIRSANBEL
    928
  • Website development on CRM Bitrix24 for DOLBIMBY
    Website development on CRM Bitrix24 for DOLBIMBY
    865
  • Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1223