Страница: Контакты
1. Общие требования
2. Структура страницы
Страница состоит из трёх основных секций , каждая — отдельный Paragraph :
Порядок
Название Paragraph
Описание
1
Выводит адрес, телефон, email, мессенджеры (Telegram, WhatsApp) из Site Settings
2
Встраивание iframe с координатами компании
3
Форма Webform с полями: Имя, Email, Тема, Сообщение
4
Ссылки на социальные сети
Ссылки формируемые через Site Settings
3. Компоненты и их реализация
3.1. Paragraph: «Наши контактные данные»
Поля (в административной панели):
Поле текста: field_contact_title — заголовок (по умолчанию: "Наши контактные данные")
Выводимые данные (из Site Settings):
Адрес: site_settings.address → г. Москва, п. Первомайское, ул. Луговая, вл20Ас1
Телефон: site_settings.phone → +7 (495) 151-91-56
Email: site_settings.email → admin@be1st.pro
Telegram: site_settings.telegram → берётся из шапки
WhatsApp: site_settings.whatsapp → берётся из шапки
3.2. Paragraph: «Яндекс Карта»
Поля:
Поле текста: field_map_title — заголовок (по умолчанию: "Наше местоположение")
Поле текста с форматом вставки html: field_map_html
3.3. Paragraph: «Форма обратной связи»
Источник данных:
Использовать существующую форму Webform , созданную в /admin/structure/webform (например, webform_contact ).
Форма должна содержать:
Поле: Имя (Text field)
Поле: Email (Email field)
Поле: Тема (Text field, опционально)
Поле: Сообщение (Textarea)
Кнопка: Отправить
4. Стили (CSS)
Все стили складываются в отдельные файлы для каждого параграфа — это необходимо для возможности использовать блоки повторно на других страницах сайта.
Адаптивность (примеры):
.contact-info {
max-width: 800px;
margin: 0 auto;
padding: 2rem;
}
@media (max-width: 768px) {
.contact-info,
.map-section,
.contact-form-section {
padding: 1rem;
}
.map-container iframe {
height: 300px;
}
.contact-list {
gap: 1rem;
}
}
✅ Важно: Использовать rem , flexbox , grid . Избегать float .
5. SEO и доступность
Все заголовки — H2 (H1 уже есть в шапке).
Все ссылки на внешние ресурсы имеют rel="nofollow" и target="_blank" .
6. Макет
Макет:
7. Тестирование
Этап
Проверка
1
Все поля редактируются в админке (Site Settings, Webform, Paragraphs)
2
Нет вставленного HTML в CKEditor
3
Ссылки Telegram/WhatsApp открывают в новом окне с nofollow
4
Карта загружается, не ломает макет
5
Форма отправляется, письмо приходит на admin@be1st.pro
6
На мобильном устройстве — всё читаемо, без горизонтального скролла
7
Валидатор WAVE / Lighthouse — нет критических ошибок