public static function Generate($arOneCondition, $arParams, $arControl, $arSubs = false)
{
file_put_contents($_SERVER["DOCUMENT_ROOT"]."/event111.txt", "\n\n** ".date("d.m.Y H:i:s")." ****". __FILE__ ." ". __LINE__ ."****E **row arParams****\n".print_r($arParams, true), FILE_APPEND | LOCK_EX);
$strResult = "self::checkField('".$arControl['FIELD']."', '".$arOneCondition["value"]."', '".$arParams['FIELD']."')===".$logic;
return $strResult;Array
(
[FIELD] => $arProduct
)if ($arFields['USER_AUTH'] == "'Y'") {
$registeredUserID = $arFields['USER_ID'];
} else {
$registeredUserID = Site::createUser([
'NAME' => $name,
'PERSONAL_PHONE' => $phone,
'EMAIL' => $email,
]);
}
if (!$registeredUserID) {
array("STATUS" => "ERROR", "MESSAGE" => "Ошибка при оформлении заказа");
}if(intval($registeredUserID)>0){//все ок и мы получили пользователя, можем работать дальше
$fuser=\Bitrix\Sale\Fuser::getIdByUserId($registeredUserID);
\Bitrix\Sale\DiscountCouponsManager::init();
//очищаем список купонов для данного хита
\Bitrix\Sale\DiscountCouponsManager::clear();
//удаляем если что-то есть в корзине
\CSaleBasket::DeleteAll($fuser,false);
// Получение корзины для текущего пользователя
$basket = \Bitrix\Sale\Basket::loadItemsForFUser( $fuser, 's1' );
\Bitrix\Sale\DiscountCouponsManager::add($coupon);
$item = $basket->createItem("catalog", $productId);
$item->setFields($product);
...
//Сохранение изменений корзины
$basket->save();
//теперь создаем заказ к которому привяжем готовую корзину
$order = \Bitrix\Sale\Order::create($siteId, $registeredUserID);
...
//купон уже был применен, к текущей корзине пользователя, поэтому в заказе использовать уже не нужно будет
$result = $order->save();
} просто в админке все работает
if ($result->isSuccess()) {
$elementId=$result->getId();
\CIBlockElement::SetPropertyValuesEx($elementId, false, ['MANAGER'=>$this->data['manager'] ]);
// далее пересохраняем объект еще раз
}
Это логично.
Только речь идет о кастомизации условий скидок, поэтому эти данные наследуются из ядра, а не устанавливаются пользователем. И судя по всему вы не сталкивались с задачей написания своих условий.
Но ... как бы не было, дело действительно в кавычках было, только не где-то выше, а именно в том куске кода, что я привел изначально
я передаю
, '".$arParams['FIELD']."'а нужно без кавычек
, ".$arParams['FIELD']."Я же сразу сказал, что проблема решается очень просто, только я не вижу ошибки