---
title: Страница категории и каталог
section: catalog
theme: mebelidomanet
framework: bootstrap
redesign_status: in_progress
last_updated: 2026-07-13
files:
  php_inline: []
  php_partials:
    - views/category/index.php
    - views/category/detail.php
    - views/category/cabinet.php
    - views/category/_item.php
  scss:
    - src/client/category/index.scss
    - src/client/category-head-md/style.scss
    - src/client/category-md/style.scss
    - src/client/listing-md/style.scss
  js: []
  widgets: []
  shared: []
deps_on:
  - catalog/aside-menu
  - catalog/filter
  - catalog/sorting-bar
  - catalog/sub-category
  - catalog/pagination
  - catalog/product-card
  - catalog/tags
themes_with_analog:
  - mebelmall
  - dommebeli
  - mebelmart
  - freshshop
  - mebelmag
  - mebelbazar
  - hormebel
  - cartzilla
  - mebelmarket
  - stolkomebeli
---

# Страница категории

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

Корневая страница каталога (`/category/index`) и детальная страница категории (`/category/detail?url=...`) с фильтром, сортировкой, листингом и пагинацией. Также `cabinet.php` — рендер мебели в интерьере (кабинетное представление).

## Где живёт

- **HTML:**
  - `views/category/index.php` — корневая «Наш каталог» (сетка всех категорий через `_item.php`).
  - `views/category/detail.php` — детальная (большая, ~250+ строк): хлебные крошки, SEO-теги, фильтр, сортировка, ListView с карточками.
  - `views/category/cabinet.php` — представление интерьера (если есть).
  - `views/category/_item.php` — карточка категории (плитка с фото + название).
- **SCSS:** `src/client/category/index.scss`.

## Bootstrap-классы

- **Сетка:** `container`, `row`, `col-md-*`, `col-lg-*`, `col-sm-*`.
- **Text:** `text-center`.
- **Spacing:** `mb-4`.

## JS-зависимости

- Внутренние: fold/unfold фильтра, сортировка по селекту.

## Зависит от блоков

- [catalog/filter](filter.md), [catalog/sorting-bar](sorting-bar.md), [catalog/aside-menu](aside-menu.md), [catalog/sub-category](sub-category.md), [catalog/pagination](pagination.md), [catalog/product-card](product-card.md), [catalog/tags](tags.md).

## Прогресс редизайна (по-блочно)

`category-page` — зонтичная страница; редизайним её составляющие по отдельности.

- **Заголовок (h1)** — **done** (2026-07-13). Обёртка `.md-cat-head` в `detail.php`: h1 в Fraunces sentence-case. Стили — `src/client/category-head-md/style.scss`, всё под scope `.md-cat-head`, глобальный `.name_category` (~20 страниц) не тронут. Селектор `.md-cat-head .md-cat-head__title` (0,2,0) перебивает глобальное `h1 { uppercase; 900; padding-top }` и мобильное `.name_category { font-size:22px }` из vendor/media.css. **Eyebrow-метка (родительская категория) НЕ выводится намеренно** — лишний текст у h1 влиял бы на SEO-расчёты (родитель остаётся только в хлебных крошках).
- **Сетка листинга + summary** — **done** (2026-07-13). Обёртка ListView в `detail.php`: `.md-listing` / `.md-listing__col` / `.md-listing__summary`, стили — `src/client/listing-md/style.scss`. **2 товара в ряд на телефонах** (`col-6`, компактный жёлоб 12px), 3 в ряд с `lg` (`col-lg-4`). Summary «Показаны записи N из M» — Manrope, приглушённый, жирные числа. Карточка `_product` уже done.
- **Корневой каталог `/category` (`index.php` + `_item.php`)** — **done** (2026-07-13). Заголовок «Наш каталог» → `.md-cat-head` (Fraunces, sentence-case, как на detail). Сетка `.md-catalog__grid` (2 кол. → 1 на `<992`), карточка `_item.php` переверстана в `.md-cat-card` — **переиспользует стили сетки категорий главной** (`src/client/category-md/style.scss`, уже в бандле → правки только в PHP, без пересборки). Фото + Manrope-заголовок uppercase + список подкатегорий, hover-подъём/zoom. `_item.php` рендерится только из `index.php`; кабинет (`_itemCabinet.php`, класс `.category__item` в `src/client/category/index.scss`) НЕ затронут.
- Остальные зоны (`aside-menu`, `filter`, `sub-category`, `pagination`, `tags`-в-листинге, h1/eyebrow, «Похожие»/«Хиты») — см. соответствующие блоки, идут отдельными шагами.
