- Вывод гет листом
12345678910111213141516171819$general_info = [];$result = CIBlockElement::GetList(["SORT" => "ASC","ID" => "DESC",], ["IBLOCK_CODE" => "b24_masters_form","ACTIVE" => "Y"// выведет только активные элементы], false, false, ["NAME","PROPERTY_MASTER","PROPERTY_B24_FORM",]);while ( $handle = $result->Fetch() ) {$general_info[] = $handle;}$generalsArr = $general_info[0];dump( $generalsArr );
- Получить id текущего пользователя
1$userId = $USER->GetID(); - Получить заказ
1$order = Bitrix\Sale\Order::loadByAccountNumber($orderId); - Получить id типа покупателя
1$orderPersonTypeId = $order->getPersonTypeId(); // ID типа покупателя - Получить id пользователя оформившего заказ
1$orderUserId = $order->getUserId(); // ID пользователя - Получить id способов оплаты
1$arPayment = $order->getPaymentSystemId(); // массив id способов оплат - Получить id текущего сайта
1$site = \Bitrix\Main\Context::getCurrent()->getSite(); - Отправить письмо по событию сохранения заказа
1AddEventHandler( "sale", "OnOrderNewSendEmail", "ModifySaleMails" ); function ModifySaleMails( $orderID, &$eventName, &$arFields ) { } - Вывести блок при активном чек-боксе
1. Создаём св-во типа список
2. Ставим галочку “Показывать развёрнутым”
3. Количество строк (для внешнего вида “список”): 1
4. Проставляем одно значение – даВ коде:
123<?if ($arResult['PROPERTIES']['SHOW_BLOCK_EXAMPLE']['VALUE'] != "") {?>...custom html<?}?>
SHOW_BLOCK_EXAMPLE – произвольное имя вашего св-ва. - Вывести картинку из св-ва:
1<?= CFile::GetPath( $arResult['PROPERTIES']['IMG_ADVANTAGES_1']['VALUE'] ) ?> - Вывести картинку анонса или детальную:
12345678910foreach ( $arResult["SKU"] as $item ) { ?><?php$picture = CFile::ResizeImageGet( $item['PREVIEW_PICTURE'], array('width' => 800,'height' => 800), BX_RESIZE_IMAGE_EXACT, true );?><?}?> - Вывод множественного св-ва GetList:
Переходим в настройки инфоблока->первая вкладка инфоблок->Значения свойств хранятся->меняем на “в отдельной таблице для данного информационного блока”
Пример вывода:
1234567891011$getSku = CIBlockElement::GetList(["SORT"=>"ASC"], ["IBLOCK_CODE"=>$iblock_code, "ACTIVE"=>"Y", "PROPERTY_CML2_LINK"=>$arResult["ID"]], false, false, ["ID","IBLOCK_ID","PROPERTY_DATE",]);while ($handle = $getSku->Fetch()) {$arResult["SKU"][$handle["ID"]] = $handle;}
12. Округлить нули после точки:
1$handle["PRICE"] = (float)$price['PRICE'];
13. Вывести описание т.п.
1. Переходим в index.php где подключается компонент каталога
2. Находим массив DETAIL_OFFERS_FIELD_CODE и добавляем в него DETAIL_TEXT - Обновить доступное количество товара:
1CCatalogProduct::Update($arResult['ID'], array("QUANTITY" => 5000));
Обновить доступное количество товара на складе:
1234567$arFields = Array("PRODUCT_ID" => $arResult['ID'],"STORE_ID" => 1,"AMOUNT" => 5000,);$ID = CCatalogStoreProduct::Add($arFields);
Рабочая ф-ция:
123456789101112131415161718192021/** Обновляет количество товара в указанную дату/время* Обязательная зависимость - use \Bitrix\Main\Config\Option;* Принимает дату обновления, новое количество, id товара* */function updateProductQuantity($dateUpdate, $newQuantity, $productId){$from_date = MakeTimeStamp( $dateUpdate, 'DD.MM.YYYY HH.MI.SS' );$now_date = time();$optionVal = str_replace(['.', ' ', ':'], '', $dateUpdate).'_'.$newQuantity;$saveOption = Option::get($productId, $productId);// dump($saveOption);// dump($optionVal);if (($saveOption !== $optionVal) && ($from_date <= $now_date)) { // если такого ключа не существует и время пришлоOption::set($productId, $productId, $optionVal); // сохраняем дату обновления в бдCCatalogProduct::Update($productId, array("QUANTITY" => $newQuantity)); // обновляем количество товара}}?> - Получить информацию о текущем пользователе
12global $USER;echo "[".$USER->GetID()."] (".$USER->GetLogin().") ".$USER->GetFullName(); - Получить состав заказа из объекта заказа
“Состав заказа – это корзина привязанная к заказу, соответственно, вам нужно получить список товаров из корзины с помощью CSaleBasket::GetList
В качестве фильтра используйте номер заказа.”
1234567$ORDER_ID = $order->getId();$res = CSaleBasket::GetList(array(), array("ORDER_ID" => $ORDER_ID)); // ID заказаwhile ($arItem = $res->Fetch()) {$productIdArr[] = $arItem['PRODUCT_ID'];}
