1. Go to this page and download the library: Download logicasoft/cashback library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
logicasoft / cashback example snippets
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'logicasoft.cashback',
'onAfterFillProducts',
[
'Class',
'Method'
]
);
Class {
public static function Method(\Bitrix\Main\Event $event)
{
$basketProducts = $event->getParameter('basketProducts');
//Для изменения нужно передать в функцию $result->mofidyFields();
//массив ключами которого будут id продукта.
$modifyFields = [];
foreach ($basketProducts as $id => $item) {
$modifyFields[$id] = [
'QUANTITY' => 100, //Изменяем количество продуктов
'NEW_FIELD' => 'VALUES' //Новое поле в продуктах
];
}
//Добавляем новый продукт в список с id = 100,
//нужно учитывать, что в продукте должны быть необходимые для расчета поля
//Проверка происходит в стратегиях подсчета, к примеру
//\Logicasoft\Cashback\Strategy\RetailCalculation::checkFields() - ищет поля
//PRICE и QUANTITY
$modifyFields['100'] = [
'QUANTITY_ID' => 500,
'ID' => 200
];
$result = new \Bitrix\Main\Entity\EventResult();
$result->modifyFields($modifyFields);
//Если нужно удалить продукт из списка, то передаем массив с id продуктов в функцию
//$result->unsetField();
//Удалим из списка продукт с id=100
$result->unsetFields([100]);
return $result;
}
}
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'logicasoft.cashback',
'onAfterCashbackAdd',
[
'Class',
'Method'
]
);
Class {
public static function Method(\Bitrix\Main\Event $event)
{
//Будет содержать массив описанных выше данных
$parameters = $event->getParameters();
}
}
use Bitrix\Main\Event;
use Bitrix\Main\EventManager;
use Logicasoft\Cashback\Strategy\Manager;
use Logicasoft\Cashback\Strategy\RetailCalculation;
$eventManager = EventManager::getInstance();
$eventManager->addEventHandler(
'logicasoft.cashback',
'onCollectCashbackStrategies',
'llcCollectCashbackStrategies'
);
function llcCollectCashbackStrategies(Event $event)
{
/** @var Manager $manager */
$manager = $event->getParameter('manager');
$manager->addStrategy(
RetailCalculation::class
);
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.