Косяк в списке магазинов в MVP


#1

Добрый день!

В блоке списка магазинов в карточке товара большой косяк - запрашивается лишняя информация о вендорах в магазине. Которых во-первых может быть много, а во-вторых у вендоров есть хуки позволяющие добавлять дополнительные нужные для конкретного магазина поля.

Причем, 99% информации которая запрашивается функцией fn_get_companies в этом списке вообще не нужна. Не говоря уже о том что зачем запрашивать информацию о вендорах, у которых вообще нет этого товара в продаже. Я всё думал, что там у меня за адок такой происходит, перековырял все кастомные модули, а оказалось что прикол заложен в коробке. Пока вендоров в момент тестирования несколько штук, оно не бросается в глаза. Когда число вендоров становится больше 100, а в карточках вендоров появляются дополнительные данные, всё становится плохо.

function fn_master_products_get_vendor_products(array &$products, array $params)

{
list($companies,) = fn_get_companies([
‘company_id’ => array_column($products, ‘company_id’),
‘extend’ => [
‘product_count’ => YesNo::NO,
‘logos’ => true,
‘placement_info’ => true,
],
], Tygh::$app[‘session’][‘auth’]);

$companies = fn_array_combine(array_column($companies, 'company_id'), $companies);

fn_gather_additional_products_data($products, $params);

foreach ($products as &$product) {
    $product['company'] = $companies[$product['company_id']];
    $product['is_vendor_products_list_item'] = true;
}
unset($product);

}