Skip to content

Instantly share code, notes, and snippets.

@kraevmaxim
kraevmaxim / gist:1d0c6be7ce592d39c8d51025fbd98067
Created October 5, 2025 11:01
example php class Profile
<?php
namespace ProjectName\Helper;
use Bitrix\Im\Helper;
use Bitrix\Sale\Internals\OrderPropsTable;
use Bitrix\Main\Entity\ReferenceField;
use Bitrix\Sale\Internals\UserPropsTable;
use CSaleOrderUserProps;
use CSaleOrderUserPropsValue;
<?php
namespace Project\Helper;
use Bitrix\Im\Helper;
use Bitrix\Sale\Internals\OrderPropsTable;
use Bitrix\Main\Entity\ReferenceField;
use Bitrix\Sale\Internals\UserPropsTable;
use CSaleOrderUserProps;
use CSaleOrderUserPropsValue;
@kraevmaxim
kraevmaxim / gist:11f09a954149cd2c4aab205e129a0b89
Created June 4, 2024 13:59
bitrix get class without iblock by element id
$iblockId = \Bitrix\Iblock\ElementTable::getByPrimary($productIds[0])->fetchObject()->getIblockId();
$iblock = Iblock::wakeUp($iblockId);
$elements = $iblock->getEntityDataClass()::getList([
'select' => ['ID', 'CML2_CODE'],
'filter' => ['ID' => $productIds]
])->fetchcollection();
foreach ($elements as $element) {
if ($element->get('CML2_CODE')) {
$codes[$element->get('ID')] = $element->get('CML2_CODE')->getValue();
@kraevmaxim
kraevmaxim / bitrix get order, filter by profile id
Last active May 28, 2024 06:17
bitrix get order, filter by profile id
private static function getProfileFieldsById(array $profileIds): array
{
$arPropertyValues = [];
$propertyValues = UserPropsValueTable::getList(
[
'select' => ['ID', 'USER_PROPS_ID', 'ORDER_PROPS_ID', 'NAME', 'VALUE', 'PROPERTY'],
'filter' => ['USER_PROPS_ID' => $profileIds],
]
);
@kraevmaxim
kraevmaxim / gist:17fbd507faf023fc37db4c46bf5d30d4
Created March 5, 2024 11:18 — forked from maxsbelt/gist:4476270
BITRIX: Описание возможностей CMS 1C-Bitrix для создания файла описания параметров модуля options.php.
<?
$MODULE_ID = "Идентификатор модуля".
// -------------- СОХРАНЕНИЕ --------------
// ПО ОТДЕЛЬНОСТИ
foreach($arOptions as $arOption) {
__AdmSettingsSaveOption($MODULE_ID, $arOption);
}
@kraevmaxim
kraevmaxim / php, abstract class, interface, trait
Last active December 19, 2023 07:08
php, abstract class, interface, trait
<?php
trait Additional
{
public function nine()
{
echo "nine \n";
}
}
@kraevmaxim
kraevmaxim / bitrix, uf fields for section
Created September 18, 2023 10:55
bitrix, uf fields for section
$entity = \Bitrix\Iblock\Model\Section::compileEntityByIblock($arParams['IBLOCK_ID']);
$section = $entity::getList([
'select' => ['DEPTH_LEVEL', 'DESCRIPTION', 'UF_SEO_TEXT_TITLE', 'NAME'],
'filter' => ['ID' => $arResult['VARIABLES']['SECTION_ID']],
'cache' => ['ttl' => 36000],
])->Fetch();
@kraevmaxim
kraevmaxim / bitrix get property value d7
Created September 14, 2023 10:51
bitrix get property value d7
public static function getPagesForOutput(): array
{
$property = PropertyTable::getList([
'select' => ['ID', 'CODE'],
'filter' => ['CODE' => ['SECTIONS', 'PAGES']]
])->FetchAll();
$result = [
'PROPERTY' => [],
'PROPERTY_ID' => [],
@kraevmaxim
kraevmaxim / bitrix update user group
Created June 2, 2023 10:02
bitrix update user group
$arUserGroup = Bitrix\Main\UserGroupTable::getList([
'filter' => [],
'select' => ['*'],
])->FetchAll();
$arResult = [];
foreach($arUserGroup as $itemUser){
$arResult[$itemUser['USER_ID']][] = $itemUser['GROUP_ID'];
}
@kraevmaxim
kraevmaxim / bitrix update weight and dimenshions
Created April 4, 2023 08:56
bitrix update weight and dimenshions
<?php
namespace Pinkbrain;
use Bitrix\Main\Loader;
use Bitrix\Iblock\PropertyTable;
use Bitrix\Iblock\ElementPropertyTable;
use Bitrix\Catalog\ProductTable;
class Product