method
public
Manager::getCollectionsByProduct()
Сигнатура
public getCollectionsByProduct(Basket $basket, array<string|int, mixed> $product) : array<string|int, mixed>|null
Описание
Если корзина не содержит товар, то мы вычисляем подарки без товара.
Затем мы добавляем товар в корзину, вычисляем подарки и сравниваем с предыдущими подарками.
Если есть разница, то метод возвращает подарки с товаром, иначе метод возвращает пустой массив.
Параметры
$basket
Basket
Целевая корзина.
$product
array<string|int, mixed>
Массив, описывающий товар (@see isValidProduct()).
Возвращаемое значение
array<string|int, mixed>|null
Как применяется в Manager
Manager::getCollectionsByProduct() — метод класса \Bitrix\Sale\Discount\Gift\Manager модуля «Интернет-магазин».
Метод объекта: сначала нужен экземпляр Manager.
use Bitrix\Main\Loader;
use Bitrix\Sale\Discount\Gift\Manager;
Loader::includeModule('sale');
/** @var Manager $object */
$basket = null; // Basket
$product = [];
$result = $object->getCollectionsByProduct($basket, $product);
// $result: array<string|int, mixed>|nullДругие методы Manager
disableExistenceDiscountsWithGift()Отключает существующую скидку с подарком.enableExistenceDiscountsWithGift()Включает существующую скидку с подарком.existsDiscountsWithGift()Возвращает true, если существует скидка с подарком.getCollectionsByBasket()Возвращает список коллекций с подарками по корзине.getInstance()Возвращает синглтон Manager.getUserId()isContainGiftAction()Возвращает true, если скидка содержит действие с подарком.isGift()Возвращает true, если товар является подарком для корзины.setUserId()
Исходный файл: source/sale/lib/discount/gift/manager.php:284

