---
title: Двухколоночник «Обратная связь» + «Отзывы»
section: main-page
theme: mebelidomanet
framework: bootstrap
redesign_status: done
last_updated: 2026-07-11
files:
  php_inline:
    - views/site/index.php:192-224
  php_partials: []
  scss:
    - src/client/feedback-md/style.scss
  js:
    - src/client/contact-form/index.js
  widgets: []
  shared:
    - src/contact-form/
deps_on:
  - pages/contact-form
  - product/product-reviews
themes_with_analog:
  - mebelmall
  - mebelmart
  - mebelmag
  - cartzilla
  - mebelmarket
  - stolkomebeli
---

# Contact + Review (двухколоночник на главной)

## Назначение

Блок из двух колонок на главной странице:

- **Слева** — «Обратная связь»: заголовок + описание + `<div class='contactForm'>` (React-форма монтируется через JS).
- **Справа** — «Отзывы»: список последних отзывов (`$review`, аватар + имя + комментарий), в конце — кнопка «Посмотреть все отзывы».

**Редизайн 2026-07-11:** переверстан inline в `views/site/index.php` (`<section class="md-feedback">`) в стиле `../mebel-landing`: две тёплые карточки (`.md-feedback__card`), заголовки **Fraunces**, текст **Manrope**, CSS-grid 2→1 колонки. Отзывы — круглые аватары + имя + комментарий с тонкими разделителями. Кнопка «Все отзывы» — переиспользуемая `.md-btn.md-btn--block`. Прежняя обёртка `.category__item` (shared, для листинга/кабинета) больше здесь не используется. Реализация на **чистом Bootstrap + SCSS, БЕЗ Tailwind**. Стили — `src/client/feedback-md/style.scss`.

## Форма (важно!)

- Форма — **shared React-компонент `src/contact-form/`** (используется другими темами) на BS-классах `form-control` / `btn btn-primary` / `form-check`. Его **не трогаем**.
- Стили формы под редизайн **перекрыты локально в scope `.md-feedback`** (`.md-feedback .form-control`, `.md-feedback input[type="submit"]` → акцентный pill вместо синей `btn-primary`), чтобы не задеть форму в других темах/на других страницах.
- `<div class='contactForm'></div>` сохранён как есть — по этому классу `src/client/contact-form/index.js` монтирует React.

## Отзывы

- `$value->comment` содержит HTML (`<p>` из БД) — выводится **без экранирования** (как в оригинале); в SCSS сброшены отступы `.md-review__comment p`. Имя (`$value->name`) экранируется через `Html::encode`.

## Где живёт (после редизайна)

- **Вёрстка:** `views/site/index.php` — inline `<section class="md-feedback">`.
- **SCSS:** `src/client/feedback-md/style.scss`, подключён в `src/client/index.scss` после `advantage-md`. Кнопка — `src/client/buttons-md/style.scss`.
- **JS:** `src/client/contact-form/index.js` — монтаж формы в `.contactForm`.

## Legacy

- `src/client/main-review/index.scss`, `src/client/review-all/index.scss` — старые (почти пустые) модули отзывов, этим блоком больше не используются.

## Bootstrap-классы

- В обёртке — только `my-5`. Раскладка — на собственном CSS-grid. Внутри формы остаются BS-классы shared-компонента (перекрыты локально).
