---
title: Отзывы о товаре + рейтинг
section: product
theme: mebelidomanet
framework: bootstrap
redesign_status: in_progress
last_updated: 2026-07-13
files:
  php_inline: []
  php_partials:
    - views/product/_review.php
    - views/product/_star-ratings-info.php
  scss:
    - src/client/review-all/index.scss
    - src/client/star-ratings-info/star-ratings-info.scss
    - src/client/main-review/index.scss
  js: []
  widgets: []
  shared: []
deps_on: []
themes_with_analog:
  - mebelmall
  - dommebeli
  - mebelmart
  - freshshop
  - mebelmag
  - mebelbazar
  - hormebel
  - cartzilla
  - mebelmarket
  - stolkomebeli
---

# Отзывы и рейтинг

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

- **`_review.php`** — карточка одного отзыва (имя, дата, рейтинг звёздами, текст).
- **`_star-ratings-info.php`** — мини-блок с SVG-звёздами рейтинга (используется и в карточке товара, и в отзыве).
- **`main-review`** — стиль блока отзывов на главной (см. [main-page/contact-and-review](../main-page/contact-and-review.md)).
- **`review-all`** — полная страница отзывов (тоже использует тот же template отзыва).

## Где живёт

- **HTML:** `views/product/_review.php`, `views/product/_star-ratings-info.php`.
- **SCSS:** `src/client/review-all/`, `src/client/star-ratings-info/`, `src/client/main-review/`.

## Bootstrap-классы

- ~~В `_review.php`: `border`, `border-secondary`, `rounded`, `px-5`, `py-4`…~~ — переверстано (см. ниже).

## Редизайн таба «Отзывы» на странице товара (2026-07-13)

Переработан **только таб «Отзывы» на карточке товара** (`views/product/_tabs.php`,
панель `#singleProdComments`). Полная страница отзывов (`views/page/review.php`
+ свой `views/page/_review.php`) и блок отзывов на главной (`main-review`) **не
тронуты** — у них отдельные вьюхи. Стили — scope `.product-tab` в
`src/client/product-tab/index.scss`.

- **`views/product/_review.php`** переверстан из дженерик-бокса
  (`border border-secondary rounded px-5 py-4`) в токен-карточку `.review-card`:
  тёплый фон `$md-bg`, хайрлайн `$md-line`, radius 16px; шапка — автор (bold
  `$md-ink`) + дата (приглушённая), звёзды, текст. Дата теперь `d.m.Y`.
  Использует **только** `views/product/_tabs.php` (у страницы отзывов свой
  `_review.php`), поэтому правка изолирована.
- **Звёзды** (`_star-ratings-info.php`): пустые звёзды в табе перекрашены с
  голубовато-серого `#adb5db` на тёплый `#d8c4c4` — scoped-правилом
  `.review-card__stars svg[fill]` (fill у пустой задан на `<svg>`, у
  заполненной — на `<polygon>`, поэтому `svg[fill]` бьёт точно в пустую; сам
  shared-partial не меняли).
- **Форма отзыва** (React `_review-form/index.js`, монтируется в
  `.product-tab__review-form`) — токен-стиль без изменения логики: инпуты/textarea
  (border `$md-line`, radius 12px, focus-ring `$md-accent-soft`), чекбокс с
  `accent-color`, ссылка на политику — акцент, кнопка «Отправить» из BS
  `btn-light`/`btn-block` → accent-CTA (`$md-accent-dark`). В JSX добавлены
  `starEmptyColor="#d8c4c4"` / `starHoverColor` / `starSpacing` для тёплых
  пустых звёзд react-star-ratings.
- **Секция:** заголовки «Отзывы покупателей» / «Оставить отзыв»
  (`.product-tab__reviews-title`, Fraunces) + подзаголовок; список показывается
  только при `getTotalCount() > 0`; блок формы `.product-tab__review-write`
  отделён верхним хайрлайном (сбрасывается через `:first-child`, когда отзывов
  нет). Паддинг секции 32px (desktop) / 20×16 (`<sm`).

Проверено вживую на товаре с отзывами (`shkaf-kupe-fortuna-vv-ic`, id 639) и без:
карточки/звёзды/форма/CTA в стиле mebel-landing, React-форма монтируется,
переключение табов цело; десктоп и мобиль. Сборка зелёная.
