начала выборки
                  
                  
                  $depth = 10;  // глубина выборки по дочерним категориям
                  
                  
                  $limit = 200;  // ограничение результатов
                  
                  
                  
                  
                  
                  $q = $modx->newQuery('msProduct');
                  
                  
                  $q->innerJoin('msProductData', 'Data', 'msProduct.id = Data.id');
                  
                  
                  $q->innerJoin('msVendor', 'Vendor', 'Data.vendor = Vendor.id');
                  
                  
                  $q->leftJoin('msCategoryMember', 'Member', 'Member.product_id = msProduct.id');
                  
                  
                  $q->select('Vendor.id, Vendor.name, Vendor.logo, Vendor.description');
                  
                  
                  $q->groupby('Vendor.id');
                  
                  
                  $q->sortby('Vendor.name');
                  
                  
                  
                  
                  
                  $q->limit($limit);
                  
                  
                  
                  
                  
                  $parents = $modx->getChildIds($category, $depth);
                  
                  
                  $parents[] = $category;
                  
                  
                  
                  
                  
                  $q->where(array('msProduct.parent:IN' => $parents));
                  
                  
                  $q->orCondition(array('Member.category_id:IN' => $parents));
                  
                  
                  
                  
                  
                  if ($q->prepare() && $q->stmt->execute()) {
                  
                  
                      $res = $q->stmt->fetchAll(PDO::FETCH_ASSOC);
                  
                  
                      foreach ($res as $elem) {
                  
                  
                          echo '<div>'.$elem['id'].' - '.$elem['name'].' - '.$elem['logo'].' - '.$elem['description'].'</div>';
                  
                  
                      }
                  
                  
                  }
                  
                  
                  
                  
                  
                  А вот еще скрипт нашел тут, но почему-то он не работает
                  
                  
                  Может его чуть подправить
                  
                  
                
Вот этот скрипт выводит бренды из категории, но только если там товар лежит уже, а из подкатегорий нет Категория - товар А надо Категория - Подкатегория — товар - Подкатегория — товар
Делайте 'getChildrensIds()' И уже их вставляйте в ваш запрос вместо родителя
да я примерно написал главное вы же поняли суть
Обсуждают сегодня