Skip to content

refactor(category): remove unused ms3_category_grid_fields and dead code#146

Merged
biz87 merged 1 commit intobetafrom
refactor/145-remove-ms3-category-grid-fields
Mar 16, 2026
Merged

refactor(category): remove unused ms3_category_grid_fields and dead code#146
biz87 merged 1 commit intobetafrom
refactor/145-remove-ms3-category-grid-fields

Conversation

@Ibochkarev
Copy link
Copy Markdown
Member

Описание

Удалена неиспользуемая настройка ms3_category_grid_fields и связанный с ней код. Настройка нигде не создаётся при установке, а грид товаров в категории давно переведён на Vue и берёт колонки из GridConfigService (API /api/mgr/grid-config/category-products).

Изменения:

  • Контроллер category/update: убрана логика ms3_category_grid_fields, grid_fields, option_fields, product_fields, option_keys; в конфиг страницы передаются только используемые поля (show_options, default_thumb, show_nested_products, category_products_rows и т.д.).
  • Processors\\Product\\GetList: удалена ветка с ms3_category_grid_fields и опциями (процессор вызывается только с combo: true из ms3.combo.js); удалены мёртвые $options и блок в prepareArray().
  • Удалён процессор Processors\\Category\\GetList (нигде не вызывается).

Поведение страницы категории и комбо выбора товара не меняется.

Тип изменений

  • Рефакторинг (без изменения функциональности)

Связанные Issues

Fixes #145

Как это было протестировано?

  • Ручная проверка: страница редактирования категории, вкладка «Товары», комбо выбора товара в других местах (если есть).

Чеклист

  • Код соответствует стилю проекта
  • Изменения не ломают существующую функциональность
  • Лексиконы добавлены на двух языках (ru/en) — не требуется
  • Обновлён CHANGELOG.md — при необходимости в рамках релиза

- Drop ms3_category_grid_fields logic from category/update controller
- Simplify category page config (grid_fields, option_fields, product_fields removed)
- Remove grid_fields branch from Product\GetList (only used with combo: true)
- Remove unused $options property and options block from Product\GetList
- Delete unused Processors\Category\GetList processor

Fixes #145
@Ibochkarev Ibochkarev marked this pull request as ready for review March 13, 2026 17:22
@Ibochkarev Ibochkarev requested a review from biz87 March 13, 2026 17:22
Copy link
Copy Markdown
Member

@biz87 biz87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

Чистый рефакторинг, всё проверено.

Проверки

  • Processors\Category\GetList — нигде не вызывается (ни в JS, ни в PHP). Удаление корректно.
  • ms3_category_grid_fields — используется только в трёх местах, все три затронуты этим PR. Настройка не создаётся при установке (_build), т.е. была мёртвой.
  • Product\GetList — единственный вызов в ms3.combo.js с combo: true. Удалённая ветка else (options/grid_fields) никогда не выполнялась для combo-запросов.
  • option_fields в product.common.js (строка 120) — получает значение из product контроллера (product/update.class.php:117), не из category. Удаление option_fields из конфига категории не влияет.
  • Удалённые поля конфига (product_fields, grid_fields, option_keys, option_fields) — не используются Vue-компонентом CategoryProductsGrid, который берёт колонки через API GridConfigService.

Единственное замечание (некритичное)

В Product\GetList::initialize() после удаления else-ветки остаётся:

if ($this->getProperty('combo') && ...) {
    $this->item_id = $id;
}

Без else. Это нормально — инициализация limit и sort ниже работает для обоих случаев. Но если процессор теперь вызывается только с combo: true, стоит в будущем подумать о его упрощении (убрать всю не-combo логику из prepareArray). Но это за рамками этого PR.

LGTM

@biz87 biz87 merged commit 9bb553c into beta Mar 16, 2026
@Ibochkarev Ibochkarev deleted the refactor/145-remove-ms3-category-grid-fields branch March 16, 2026 07:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Refactor] Удалить неиспользуемую настройку ms3_category_grid_fields

2 participants