Решения Услуги О компании Контакты +7 (495) 662-95-43 Консультация
Шаг 3

Соцсети, логотип и карта

Ссылки на соцсети, загрузка основного и маленького логотипа, ссылка на Яндекс.Карты. С предупреждением о запрещённых в РФ ресурсах.

Где находится

Настройки разбиты на две вкладки в интерфейсе модуля:

  • «Социальные сети» — ссылки на площадки;
  • «Логотип и карта» — изображения и ссылка на Яндекс.Карты.

Обе вкладки доступны из раздела Настройки → Настройки продукта → Настройки модулей → Управление контактной информацией.

Социальные сети

Ссылки на профили компании. Пустые поля не выводятся на сайте — метод getActiveSocial() возвращает только заполненные.

ПолеКод опцииПример
VKVKhttps://vk.com/ipromo
MAXMAXhttps://max.ru/ipromo
TelegramTELEGRAMhttps://t.me/ipromo
WhatsAppWHATSAPPhttps://wa.me/74951234567
InstagramINSTAGRAMhttps://instagram.com/ipromo
YouTubeYOUTUBEhttps://youtube.com/ipromo
RuTubeRUTUBEhttps://rutube.ru/ipromo
FacebookFACEBOOKhttps://facebook.com/ipromo
ОдноклассникиOKhttps://ok.ru/ipromo
TwitterTWITTERhttps://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');
?>

Загрузка логотипа

  1. Нажмите «Добавить файл» рядом с нужным полем.
  2. Выберите изображение — рядом с кнопкой появится имя файла и его размер.
  3. Нажмите «Сохранить изменения» — файл запишется в /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/.

Как получить ссылку на карту

  1. Откройте Яндекс.Карты.
  2. Найдите свой офис.
  3. Нажмите «Поделиться» → «Скопировать ссылку».
  4. Вставьте ссылку в поле модуля.
Не вставляйте код встраивания <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>

Кеширование

Все методы читают значения из опций модуля — они уже закешированы. После изменения настроек очистите кеш сайта: Настройки → Автокеширование → Очистить весь кеш.