Skip to content

fix(products): дополнительные категории в msProducts и гриде категории - #482

Open
Ibochkarev wants to merge 5 commits into
modx-pro:betafrom
Ibochkarev:fix/issue-481-msproducts-additional-categories
Open

fix(products): дополнительные категории в msProducts и гриде категории#482
Ibochkarev wants to merge 5 commits into
modx-pro:betafrom
Ibochkarev:fix/issue-481-msproducts-additional-categories

Conversation

@Ibochkarev

@Ibochkarev Ibochkarev commented Jul 29, 2026

Copy link
Copy Markdown
Member

Описание

Логика «товары категории = primary parent + msCategoryMember» вынесена в CategoryProductScopeService и подключена к сниппету msProducts и админскому гриду товаров категории.

Для #480 дополнительно: buildProductCategoryScopeWhere(), drag-sort через canReorderInCategory() (только прямые дочерние; доп. категории видны в гриде, но menuindex им не меняется).

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

  • Исправление бага (non-breaking change)
  • Рефакторинг (без изменения функциональности)

Связанные Issues

Closes #481
Closes #480

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

cd core/components/minishop3
composer ci:php   # exit 0
  • php tests/CategoryProductScopeServiceTest.php — exit 0
  • composer test:smoke — 19/19 OK

Gate A (#480 + #481)

AC Код Тест
msProducts + доп. категории scope service + snippet OR-clause regression
Грид категории + доп. категории CategoryProductsListService buildProductCategoryScopeWhere
Drag-sort edge case canReorderInCategory documented in PR

Extract CategoryProductScopeService so msProducts and the category
products grid include msCategoryMember links, with regression tests.
Add testable admin WHERE builder, clarify drag-sort for direct children
only, and close modx-pro#480 alongside modx-pro#481 in the same PR.
Resolve CategoryProductScopeService from the container only and bump
the ms3_products \$services ignore count after the modx-pro#481 wiring.
CategoryProductScopeService::isProductInCategory() has no callers in the
codebase (verified by grep across src/, tests/, vueManager/). Remove it to
keep the scope surface minimal (modx-pro#481 review).
ProductDataController no longer calls removed
CategoryProductsListService::isProductInCategoryScope(); delegate to
findInCategory() which includes msCategoryMember links.
@Ibochkarev
Ibochkarev force-pushed the fix/issue-481-msproducts-additional-categories branch from 8c6e48c to 57d374a Compare August 2, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

1 participant