Модуль создан для проектов, где контент не укладывается в «одно поле = одно значение».
Модуль добавляет гибкое комбинированное свойство: вы настраиваете набор подполей под бизнес-задачу и управляете ими в одной удобной форме — без лишних инфоблоков, сложных костылей и потери контроля над структурой.
Подходит для сайтов услуг, каталогов, корпоративных порталов, лендингов и проектов с насыщенным контентом, где важно быстро запускать новые форматы страниц и при этом сохранять чистую архитектуру данных.
Что даёт модуль- объединяет связанные данные в одно логическое поле (хранение в JSON);
- позволяет собирать собственные структуры из подполей разных типов;
- ускоряет работу контент-менеджера за счёт понятной формы в админке;
- снижает стоимость доработок: структура меняется в настройках свойства, а не через создание новых сущностей;
- сохраняет гибкость вёрстки: данные готовы для произвольного вывода в шаблонах.
- строка;
- число;
- файл;
- текст (в том числе многострочный / HTML-редактор);
- дата;
- привязка к элементу;
- привязка к разделу;
- список;
- цвет;
- Яндекс.Карта.
Один из главных сценариев, под который проектировался модуль — страницы, собранные из смысловых блоков:
- «Кому подойдет»
- «Этапы работы»
- «Стоимость»
- «Примеры работ»
- «Частые вопросы»
- «Преимущества»
- «Характеристики»
Каждый такой блок можно оформить как отдельное комбинированное свойство.
Внутри блока — свой набор подполей: заголовок, описание, изображение, список, ссылка, дата, привязки и т.д.
Результат для проекта:
- нет необходимости плодить десятки типовых инфоблоков;
- структура страницы адаптируется под конкретный раздел/продукт;
- контент остаётся управляемым и предсказуемым для редакторов;
- фронтенд-команда получает чистые структурированные данные для любой вёрстки.
Удобно для карточек филиалов, офисов, точек продаж, шоурумов.
Рекомендуемая структура:
- Адрес — текст;
- Карта — Яндекс.Карта (только для элемента);
- Телефон — текст;
- Email — текст.
Что это даёт: единый формат контактных данных, быстрое редактирование менеджером и готовая основа для вывода контактных блоков в нужном дизайне.
Сценарий 2: СобытияПодходит для анонсов мероприятий, вебинаров, презентаций, обучающих программ.
Рекомендуемая структура:
- Дата начала — дата;
- Дата окончания — дата;
- Место проведения — текст;
- Организатор — привязка к элементу.
Что это даёт: аккуратная событийная карточка с чёткой структурой, удобная фильтрация и единый стандарт для всех событий на сайте.
Сценарий 3: Коммерческие предложенияИдеально для тарифных сеток, пакетов услуг, ценовых блоков и промо-предложений.
Рекомендуемая структура:
- Название тарифа — строка;
- Цена — число;
- Состав услуг — многострочный текст или список;
- Метка «Хит/Рекомендуем» — список.
Что это даёт: прозрачное управление тарифами без отдельного сложного каталога, быстрое обновление цен/состава и удобный вывод в карточках и лендингах.
Примеры кода для разработчиковГотовые сниппеты для быстрой интеграции в шаблоны Битрикс
VALUE приходит как массив подполей.
<?php
$contacts = $arResult['PROPERTIES']['CONTACTS_BLOCK']['VALUE'] ?? [];
if (!is_array($contacts) || empty($contacts)) {
return;
}
$address = (string)($contacts['ADDRESS'] ?? '');
$phone = (string)($contacts['PHONE'] ?? '');
$email = (string)($contacts['EMAIL'] ?? '');
?>
<div class="contacts-block">
<?php if ($address !== ''): ?>
<div>Адрес: <?= htmlspecialcharsbx($address) ?></div>
<?php endif; ?>
<?php if ($phone !== ''): ?>
<div>Телефон: <a href="tel:<?= htmlspecialcharsbx($phone) ?>"><?= htmlspecialcharsbx($phone) ?></a></div>
<?php endif; ?>
<?php if ($email !== ''): ?>
<div>Email: <a href="mailto:<?= htmlspecialcharsbx($email) ?>"><?= htmlspecialcharsbx($email) ?></a></div>
<?php endif; ?>
</div>
Пример 2. Элемент инфоблока, свойство множественное (MULTIPLE = Y)
VALUE приходит как массив строк, где каждая строка — отдельный блок-строка (массив подполей).
<?php
$rows = $arResult['PROPERTIES']['TARIFFS']['VALUE'] ?? [];
if (!is_array($rows) || empty($rows)) {
return;
}
?>
<div class="tariffs">
<?php foreach ($rows as $row): ?>
<?php if (!is_array($row)) { continue; } ?>
<?php
$name = (string)($row['TARIFF_NAME'] ?? '');
$price = $row['PRICE'] ?? '';
$services = (string)($row['SERVICES'] ?? '');
$badge = (string)($row['BADGE'] ?? '');
?>
<div class="tariff-card">
<?php if ($name !== ''): ?><h3><?= htmlspecialcharsbx($name) ?></h3><?php endif; ?>
<?php if ($price !== '' && $price !== null): ?><div><?= htmlspecialcharsbx((string)$price) ?> ₽</div><?php endif; ?>
<?php if ($services !== ''): ?><div><?= nl2br(htmlspecialcharsbx($services)) ?></div><?php endif; ?>
<?php if ($badge !== ''): ?><span><?= htmlspecialcharsbx($badge) ?></span><?php endif; ?>
</div>
<?php endforeach; ?>
</div>
Пример 3. Файловое подполеВ подполе хранится file_id (число).
<?php
$fileId = (int)($row['FILE'] ?? 0);
if ($fileId > 0) {
$file = CFile::GetFileArray($fileId);
if (is_array($file) && !empty($file['SRC'])) {
$name = $file['ORIGINAL_NAME'] ?: $file['FILE_NAME'];
echo '<a href="' . htmlspecialcharsbx($file['SRC']) . '" target="_blank" rel="noopener">'
. htmlspecialcharsbx($name)
. '</a>';
}
}
Пример 4. UF раздела (section_cprop)<?php
$event = $arResult['UF_EVENT_META'] ?? [];
if (!is_array($event) || empty($event)) {
return;
}
?>
<div class="event-meta">
<div>Начало: <?= htmlspecialcharsbx((string)($event['DATE_FROM'] ?? '')) ?></div>
<div>Окончание: <?= htmlspecialcharsbx((string)($event['DATE_TO'] ?? '')) ?></div>
<div>Место: <?= htmlspecialcharsbx((string)($event['PLACE'] ?? '')) ?></div>
<div>Организатор ID: <?= (int)($event['ORGANIZER'] ?? 0) ?></div>
</div>
Рекомендации по использованию- используйте стабильные коды подполей (TITLE, PRICE, DATE_FROM) и не меняйте их без необходимости;
- для публичного шаблона всегда экранируйте вывод через htmlspecialcharsbx;
- для сложных блоков выносите разбор JSON в result_modifier.php, а в template.php оставляйте только вывод;
- для повторяющихся секций используйте множественные свойства и единый шаблон рендера.
Почему это выгодно бизнесу
- быстрее запуск новых страниц и направлений;
- меньше затрат на разработку и сопровождение;
- единый подход к контенту в разных разделах сайта;
- меньше ошибок редакторов;
- проще масштабировать проект при росте ассортимента и услуг.
- структурированные данные в одном свойстве;
- простая интеграция в шаблоны компонентов;
- меньше «зоопарка» инфоблоков и технического долга;
- гибкая эволюция проекта без тяжёлых миграций.
- переход на новую архитектуру с namespace-классами Xlogic\Iprop\* и сохранением обратной совместимости через class_alias (старые имена классов продолжают работать);
- реестр типов полей и унификация обработки подполей комбинированного свойства;
- расширенная поддержка типов (включая файл, HTML-текст, color, привязки, Yandex Map) для свойства и UF разделов;
- исправление ошибок
- Косметические исправления
- Улучшен вывод свойства "Привязка к яндекс карте" в публичной части
- Добавлена возможность удаления свойств
Установите модуль через Маркетплейс Битрикс.
При создании свойства инфоблока выберите тип «Универсальное комбинированное свойство»
Для разделов — создайте UF с типом «Комбинированное свойство (для разделов)»
Ключ можно получить здесь https://developer.tech.yandex.ru
Сайт: xlogic.ru
Время работы: пн–пт с 10:00 до 19:00 (МСК, UTC+3).
Время реакции на заявку: в течение 1 рабочего дня
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.