Skip to content

Instantly share code, notes, and snippets.

@EscApp2
EscApp2 / css.css
Last active July 23, 2024 10:21
Create custom sku tree selecter v3
.js_custom_sku_error_text{
font-size: 16px;
line-height: 20px;
font-weight: 400;
letter-spacing: 0.3px;
color: red;
margin-bottom:10px;
display:none;
}
@EscApp2
EscApp2 / event.php
Last active June 18, 2024 09:46
Нужно сделать так, чтобы в корзине выводилось наименование самого товара, а не ТП name sku
<?
/*
* Нужно сделать так, чтобы в корзине выводилось
* наименование самого товара, а не ТП
* */
$eventManager = \Bitrix\Main\EventManager::getInstance(); //подписываем обработчик на событие
$eventManager->addEventHandler(
"sale",
'OnBeforeSaleBasketItemSetField',
@EscApp2
EscApp2 / header.php
Created June 5, 2024 11:52
В почтовом шаблоне узнать тип события
<body>
<?
if(!!$arParams['__CUR_EVENT_TYPE']){
$TEXT = '';
if($arParams['__CUR_EVENT_TYPE'] == "SALE_ORDER_PAID") {
$TEXT = "";
}elseif($arParams['__CUR_EVENT_TYPE'] == "SALE_NEW_ORDER"){
$TEXT = " ";
}elseif($arParams['__CUR_EVENT_TYPE'] == "SUBSCRIBE_CONFIRM"){
$TEXT = " ";
@EscApp2
EscApp2 / index.php
Created June 5, 2024 11:47
twofingers.location search by name
<?$LOC_ID = false;
if (\Bitrix\Main\Loader::includeModule('twofingers.location')
&& $location = \TwoFingers\Location\Factory\LocationFactory::buildByStorage())
{
$LOC_ID = $location->getId(); // ID местоположения
}
?>
<?$APPLICATION->IncludeComponent(
"bitrix:news",
"contacts",
@EscApp2
EscApp2 / init.php
Created May 31, 2024 14:36
property filter section
<?
function getFilterBySlug($slug, $IBLOCK_ID, $arProperties){
$arReturn = array();
if($slug){
\Bitrix\Main\Loader::includeModule('iblock');
$properties = \Bitrix\Iblock\PropertyTable::getList(array(
'filter' => array(
"CODE" => $arProperties,
"IBLOCK_ID" => $IBLOCK_ID,
@EscApp2
EscApp2 / init.php
Created April 19, 2024 16:04
union element
<?php
class makeIblockElementUnion{
static function GetListFilter($IBLOCK_ID, $arFilter, $arUnionBy, $limit, $arInputSort = array()){
\Bitrix\Main\Loader::includeModule('iblock');
$CIBlockElement = \Bitrix\Iblock\Iblock::wakeUp($IBLOCK_ID)->getEntityDataClass();
if($CIBlockElement){
if(empty($arInputSort)){
$arInputSort["ID"] = "ASC";
@EscApp2
EscApp2 / event.php
Last active May 14, 2024 07:30
Stop add check, Stop Print Check For Empty Delivery Service
<?
$eventManager = \Bitrix\Main\EventManager::getInstance();
$eventManager->addEventHandler('sale', '\Bitrix\Sale\Cashbox\Internals\CashboxCheck::OnBeforeAdd', 'StopPrintCheckForEmptyDeliveryService');
function StopPrintCheckForEmptyDeliveryService(\Bitrix\Main\Event $event){
$BITRIX_EMPTY_DELIVERY_ID = \Bitrix\Sale\Delivery\Services\EmptyDeliveryService::getEmptyDeliveryServiceId();
$arParameters = $event->getParameters();
$arFields = $arParameters['fields'];
if("sell" == $arFields['TYPE']){
@EscApp2
EscApp2 / init.php
Last active April 17, 2024 08:13
selected sku by filter, выбрать ID SKU для установки SKU по умолчанию, исходя из умного фильтра.
<?
/*
* выбрать ID SKU для установки SKU по умолчанию, исходя из умного фильтра.
* */
function getOffersSelectedByFilter(&$arResult, &$arParams, $component){
//https://pai-bx.com/wiki/1c-bitrix/2357-filtered-sku-in-products-list/
if(!empty($arParams['FILTER_NAME'])){
global ${$arParams['FILTER_NAME']};
$FILTER = ${$arParams['FILTER_NAME']};
if(!empty($FILTER) && !empty($FILTER['OFFERS']) ) {
@EscApp2
EscApp2 / bitrix import\export users
Created April 16, 2024 08:12 — forked from SeRGei93/bitrix import\export users
перенос пользователей битрикс
Если перед вами встала задача по переносу пользователей из одного Битрикс в другой, то сделать это достаточно просто.
Для начала составьте таблицу соответствия групп пользователей, где ключи - id группы пользователей на первом сайте, а значения id соответствующей ему группы пользователей на втором. Примерно так:
$tableOfGroups = [
'1' => 1,
'2' => 2,
'3' => 3,
'4' => 4,
'5' => 9,
@EscApp2
EscApp2 / init.php
Created April 5, 2024 08:06
bitrix Запретить сохранять файлы
<?
AddEventHandler("main",'OnFileSave','OnFileSave');
function OnFileSave(&$arFile, $fileName, $module)
{
if(isUserInGroup(9)){
unset($arFile['tmp_name']); // to delete
}
return false; // not true; true breaks event loop
}