$routes->post('/api/feedback', [\App\Controller::class,'sendFeedback']);
{
"name": "mav/myproject",
"type": "project",
"autoload": {
"psr-4": {
"App\\": "lib/App",
}
},
"require-dev": {
"kint-php/kint": "dev-master"
},
"require": {
"mav/slovo": "^0.2.3"
}
}
private $actionsConfig = [
'view' => [
'-prefilters' => [
'\Bitrix\Main\Engine\ActionFilter\Authentication'
]
],
'add' => [
'-prefilters' => [
'\Bitrix\Main\Engine\ActionFilter\Authentication'
]
]
protected function init()
{
parent::init();
foreach ($this->actionsConfig as $name=>$arConfig) $this->setActionConfig($name, $arConfig);
}
npm install -g @bitrix/cli@3.1.1
\Bitrix\Catalog\Model\Price::update($PriceId,$arPrice);
который вы используете для обновления, использовать что-то вроде:\Bitrix\Catalog\Model\Price::add(array(
'CATALOG_GROUP_ID'=>$PriceId,
'PRODUCT_ID'=>$ProductId,
'PRICE'=>$Price,
'CURRENCY'=>'RUB',
));
// грууппы этого правила для скидки
$lstGruopsIDs = array_column(
\Bitrix\Sale\Internals\DiscountGroupTable::getList(['filter'=>['DISCOUNT_ID'=>$dctPrototype['ID']]])->fetchAll(),
'GROUP_ID'
);
// переменовываем
$dctPrototype['NAME'] = 'Автоматическая скидка';
// так надо
$dctPrototype['VERSION'] = intval($dctPrototype['VERSION']);
// удаляем лишние поля
unset($dctPrototype['MODIFIED_BY'],$dctPrototype['ID']);
// заменяем id пользователя
$dctPrototype['CONDITIONS_LIST']['CHILDREN'][0]['DATA']['value'][0] = $UserId;
$dctPrototype['UNPACK'] = str_replace(
'Bitrix\Main\Discount\UserConditionControl::checkBasket($arOrder, array(1), \'Equal\')',
'Bitrix\Main\Discount\UserConditionControl::checkBasket($arOrder, array('.$UserId.'), \'Equal\')',
$dctPrototype['UNPACK']
);
// добавляем
$result = \Bitrix\Sale\Internals\DiscountTable::add($dctPrototype);
if ($result->isSuccess()) {
$DISCOUNT_ID = $result->getId();
// добавляем группы
foreach ($lstGruopsIDs as $GROUP_ID) {
\Bitrix\Sale\Internals\DiscountGroupTable::add([
'ACTIVE'=>'Y',
'DISCOUNT_ID'=>$DISCOUNT_ID,
'GROUP_ID'=>$GROUP_ID
]);
}
}
$item->save();
if ($props) {
$propertyCollection = $item->getPropertyCollection();
$propertyCollection->setProperty($props);
$propertyCollection->save();
$item->setPropertyCollection($propertyCollection);
$arDebug['propertyCollection'] = $item->getPropertyCollection()->getPropertyValues();
}