Где находится
Настройки разбиты на две вкладки в интерфейсе модуля:
- «Социальные сети» — ссылки на площадки;
- «Логотип и карта» — изображения и ссылка на Яндекс.Карты.
Обе вкладки доступны из раздела Настройки → Настройки продукта → Настройки модулей → Управление контактной информацией.
Социальные сети
Ссылки на профили компании. Пустые поля не выводятся на сайте — метод getActiveSocial() возвращает только заполненные.
| Поле | Код опции | Пример |
|---|---|---|
| VK | VK | https://vk.com/ipromo |
| MAX | MAX | https://max.ru/ipromo |
| Telegram | TELEGRAM | https://t.me/ipromo |
WHATSAPP | https://wa.me/74951234567 | |
INSTAGRAM | https://instagram.com/ipromo | |
| YouTube | YOUTUBE | https://youtube.com/ipromo |
| RuTube | RUTUBE | https://rutube.ru/ipromo |
FACEBOOK | https://facebook.com/ipromo | |
| Одноклассники | OK | https://ok.ru/ipromo |
TWITTER | https://twitter.com/ipromo |
⚠️ Внимание! Некоторые социальные сети (Facebook, Instagram, WhatsApp, Twitter/X) признаны экстремистскими и запрещены на территории Российской Федерации. Использование ссылок на данные ресурсы может противоречить законодательству РФ. Рекомендуем использовать только разрешённые социальные сети: VK, MAX, Telegram, RuTube, Одноклассники.
Это предупреждение отображается прямо в интерфейсе модуля на вкладке «Социальные сети».
Вывод соцсетей на сайте
<?php
if (CModule::IncludeModule('ipromoagency.contact')) {
$social = \Ipromoagency\Contact\ContactHelper::getActiveSocial();
}
?>
<?php if (!empty($social)): ?>
<div class="social-links">
<?php foreach ($social as $name => $url): ?>
<a href="<?= $url ?>" target="_blank" rel="nofollow noopener"
class="social-<?= strtolower($name) ?>">
<?= $name ?>
</a>
<?php endforeach; ?>
</div>
<?php endif; ?>
Проверить, есть ли хотя бы одна заполненная соцсеть:
<?php
if (\Ipromoagency\Contact\ContactHelper::hasSocial()) {
// вывести блок соцсетей
}
?>
Получить конкретную соцсеть из массива контактов:
<?php
$contact = \Ipromoagency\Contact\ContactHelper::getContactArray();
if (!empty($contact['SOCIAL']['TELEGRAM'])) {
echo '<a href="' . $contact['SOCIAL']['TELEGRAM'] . '">Telegram</a>';
}
?>
Логотип
На вкладке «Логотип и карта» можно загрузить два изображения: основной логотип и маленький.
Основной логотип
| Параметр | Значение |
|---|---|
| Код опции | LOGO |
| Рекомендуемый размер | 200 × 100 пикселей |
| Форматы | JPG, JPEG, PNG, GIF, WEBP |
| Куда сохраняется | /upload/contact/ |
Используется в шапке сайта, на странице контактов, в письмах.
<?php
$logo = \Ipromoagency\Contact\ContactHelper::getLogoUrl('LOGO');
if ($logo) {
echo '<img src="' . $logo . '" alt="Логотип">';
}
?>
Маленький логотип
| Параметр | Значение |
|---|---|
| Код опции | LOGO_SMALL |
| Рекомендуемый размер | 50 × 50 пикселей |
| Форматы | JPG, JPEG, PNG, GIF, WEBP |
Используется для favicon, аватаров, компактных блоков.
<?php
$logoSmall = \Ipromoagency\Contact\ContactHelper::getLogoUrl('LOGO_SMALL');
?>
Загрузка логотипа
- Нажмите «Добавить файл» рядом с нужным полем.
- Выберите изображение — рядом с кнопкой появится имя файла и его размер.
- Нажмите «Сохранить изменения» — файл запишется в
/upload/contact/.
После загрузки вместо заглушки отображается сам логотип с зелёной плашкой «Логотип загружен».
Удаление логотипа
Рядом с загруженным логотипом — кнопка «Удалить логотип». Нажмите, подтвердите действие — модуль удалит файл из хранилища и обнулит опцию.
Как получить ID файла логотипа
Если логотип нужно передать в другой компонент Битрикса (например, для ресайза), используйте метод getLogoId():
<?php
$logoId = \Ipromoagency\Contact\ContactHelper::getLogoId('LOGO');
$arFile = CFile::ResizeImageGet($logoId, ['width' => 400, 'height' => 200], BX_RESIZE_IMAGE_PROPORTIONAL);
echo '<img src="' . $arFile['src'] . '">';
?>
Ссылка на Яндекс.Карты
| Параметр | Значение |
|---|---|
| Код опции | YANDEX_MAP |
| Что указывать | Ссылку на страницу с меткой вашего офиса на Яндекс.Картах |
Пример: https://yandex.ru/maps/213/moscow/house/poklonnaya_ulitsa_3s1/.
Как получить ссылку на карту
- Откройте Яндекс.Карты.
- Найдите свой офис.
- Нажмите «Поделиться» → «Скопировать ссылку».
- Вставьте ссылку в поле модуля.
Не вставляйте код встраивания <iframe> — модуль принимает именно ссылку на страницу с меткой.
Получить URL карты (с параметрами, если заданы):
<?php
$mapUrl = \Ipromoagency\Contact\ContactHelper::getMapUrl();
if ($mapUrl) {
echo '<a href="' . $mapUrl . '" target="_blank" rel="nofollow noopener">Показать на карте</a>';
}
?>
Комплексный пример
Вывод соцсетей, логотипа и ссылки на карту в одном блоке:
<?php
if (CModule::IncludeModule('ipromoagency.contact')) {
$contact = \Ipromoagency\Contact\ContactHelper::getContactArray();
$social = \Ipromoagency\Contact\ContactHelper::getActiveSocial();
}
?>
<div class="company-info">
<?php if (!empty($contact['LOGO'])): ?>
<img src="<?= $contact['LOGO'] ?>" alt="Логотип" class="company-logo">
<?php endif; ?>
<?php if (!empty($contact['LOGO_SMALL'])): ?>
<img src="<?= $contact['LOGO_SMALL'] ?>" alt="" class="company-logo-small">
<?php endif; ?>
<?php if (!empty($social)): ?>
<div class="social-links">
<?php foreach ($social as $name => $url): ?>
<a href="<?= $url ?>" target="_blank" rel="nofollow noopener"
class="social-<?= strtolower($name) ?>">
<?= $name ?>
</a>
<?php endforeach; ?>
</div>
<?php endif; ?>
<?php if (!empty($contact['MAP'])): ?>
<a href="<?= $contact['MAP'] ?>" target="_blank" rel="nofollow noopener"
class="company-map-link">
Показать на карте
</a>
<?php endif; ?>
</div>
Кеширование
Все методы читают значения из опций модуля — они уже закешированы. После изменения настроек очистите кеш сайта: Настройки → Автокеширование → Очистить весь кеш.