
ms3ProductSets
Динамические подборки товаров для MiniShop3 — ручные связи, авто-рекомендации, админка шаблонов


Связанные страницы: Потоки, API, Типы подборок.
ms3ProductSets Формирует список ID по типу подборки и рендерит через msProducts.mspsLexiconScript Экспортирует window.mspsLexicon и window.mspsConfig.assets/components/ms3productsets/connector.php Единая точка для фронта и manager action-ов.core/components/ms3productsets/include/helpers.php Общая бизнес-логика формирования подборок, шаблонов и служебных операций.OnDocFormSave — синхронизация TV в таблицу связей;OnResourceDelete — очистка связей удаляемого ресурса.assets/components/ms3productsets/js/mgr/.ms3_product_sets Связи для выдачи подборок.
product_id — товар, на карточке которого показываем подборкуrelated_product_id — рекомендуемый товарtype — тип подборкиsortorder — порядокtemplate_name — имя шаблона, если связь создана массовым применениемproduct_id, related_product_id, type)ms3_product_set_templates Шаблоны для массового применения к категориям.
nametyperelated_product_ids (строка ID через запятую)sortorderdescription (добавляется в upgrade-резолвере)type, resource_id, max_items, exclude_ids, чанки).msps_get_products_by_type(...):ms3_product_sets;hideIfEmpty=true → '';emptyTpl.return=ids → вернуть CSV ID.msProducts + опционально tplWrapper.vip: ручная подборка type=vip; fallback на ms3productsets.vip_set_{set_id}.auto_sales: SQL по ms3_order_product + ms3_order (статусы 2,4,5), fallback на similar.similar: товары из той же категории (parent), исключая текущий/exclude_ids.buy_together, cart_suggestion: авто по категории через msps_get_auto_recommendations.popcorn: авто по категории; если пусто, fallback на случайные товары каталога.auto, also-bought, cross-sell, custom: авто по категории.ms3productsets_*) у товара.OnDocFormSave проверяет наличие этих TV на шаблоне ресурса.msps_sync_product_sets_from_tv: related_product_id с sortorder из TV;template_name, чтобы не затереть связи, созданные массовым применением шаблонов к категориям.apply_template.msProduct).ms3_product_set_templates.ms3_product_sets вставляются связи с template_name.replace=true сначала удаляются все связи данного type у выбранных товаров.