Работа с контактами 
Состав контактов 
Скорее всего это может показаться странным, но к контактам я отнёс не только почту и телефон, но и ещё много чего. Всё это сделано для удобства редактирования и оптимизации вывода. В итоге, к контактам относятся:
- телефоны
 - электронные почты
 - адреса
 - реквизиты
 - карты
 - социальные сети и мессенджеры
 - время работы
 
Каждый элемент списка имеет следующий набор полей:
type- определяет к какому типу относится данная записьvalue- непосредственно значение, для телефона формируется дополнительный параметрformattedValue, которое хранит отформатированное значение телефона, при этом сам телефон должен быть записан только цифрами. Указать паттерн форматирования можно в системной настройкеmpc_phone_formatcaption- подпись к контактуicon_class- класс иконки, задать доступные классы иконок можно в интерфейсе компонента Migx в конфигурацииcontactsв возможных значениях соответствующего поляform- поле доступно всем типам, но актуально только для email, так как позволяет назначить email для отправки на него данных с определенных форм.
Сниппет getContacts 
Для удобства вывода контактов на фронте в комплекте поставляется сниппет getContacts.
| Параметр | По умолчанию | Описание | 
|---|---|---|
| rid | берётся из системной настройки mpc_contacts_page_id | ID страницы с Контактами | 
| tvname | берётся из системной настройки mpc_contacts_tvname | название TV типа migx хранящей контакты | 
Сниппет возвращает массив вида
php
[
  'phones' => [
    'Телефон' => [
      'value' => '79998887766',
      'formattedValue' => '8(999)888-77-66',
      'caption' => 'Телефон',
      'icon_class' => 'icon-phone',
      'form' => '',
    ],
    'Телефон2' => [
      'value' => '79998887766',
      'formattedValue' => '8(999)888-77-66',
      'caption' => 'Телефон2',
      'icon_class' => 'icon-phone',
      'form' => '',
    ],
  ],
  'emails' => [],
  'socials' => [],
  'addresses' => [],
  'maps' => [],
  'worktime' => [],
  'requisites' => [],
]Таким образом вы никак не ограничены в количестве реквизитов и можете легко получить к ним доступ, просто один раз вызвав сниппет getContacts, например так:
fenom
{set $contacts = 'getContacts' | snippet}
<div class="custom">
  <div>
    {$contacts['maps']['Карта']['value']}
  </div>
  <div class="table-responsive">
    <table class="table table-bordered table-striped">
      <tbody>
        {foreach $contacts['requisites'] as $requisite}
          <tr>
            <td><b>{$requisite['caption']}</b></td>
            <td>{$requisite['value']}</td>
          </tr>
        {/foreach}
        {foreach $contacts['phones'] as $phone}
          <tr>
            <td><b>{$phone['caption']}</b></td>
            <td>{$phone['formattedValue']}</td>
          </tr>
        {/foreach}
        {foreach $contacts['emails'] as $email}
          <tr>
            <td><b>{$email['caption']}</b></td>
            <td>{$email['value']}</td>
          </tr>
        {/foreach}
      </tbody>
    </table>
  </div>
</div>